selenium的工作原理

Selenium是⼀一个⽤用于Web应⽤用程序 ⾃自动化测试⼯工具。Selenium测试直 接运⾏行行在浏览器器中,就像真正的⽤用 户在操作⼀一样。Selenium并提供⼀一 套测试函数,⽤用于⽀支持Web⾃自动化 测试,函数⾮非常灵活,能够完成界 ⾯面元素定位、窗⼝口跳转、结果⽐比较 等。

主要功能:

  • 多浏览器支持

    可以对多浏览器器进⾏行行测试,如⽀支持的浏览器器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。

  • 多语言支持

    如Java、C#、Python、Ruby、PHP等。WebDriver是基于JSON Wire Protocol的,它是在HTTP协议的基础上,对HTTP请求 及响应信息的BODY部分的数据进⼀步规范, BODY部分主要传送具体的数据,在 WebDriver中这些数据都是以JSON的形式存在并进⾏传送的,这就是JSON Wire protocol。所以在Client和Server之间,只要是基于JSON Wire Protocol来传递数据,就与 具体的脚本语⾔⽆关了,这样同⼀个浏览器的驱动就即可以处理Java语⾔的脚本,也可以 处理Python语⾔的脚本了

  • 多系统支持

    如Windows、Linux、IOS、Android等。

  • 开源免费

用途:

  1. 测试与浏览器兼容性
  2. 测试系统功能
  3. 爬虫(有点网页拿不到body的全部内容,而使用selenium就可以)

工作原理

在这里插入图片描述

  • 当使⽤用 Selenium 2.0 启动浏览器器时,后台会同时启动基于 WebDriver Wire 协议的 Web Service 作为 Selenium 的 Remote Server,并与浏览器器绑定。之后,Remote Server 就开始监听 Client 端的操作请求;
  • 执⾏行行测试时,测试⽤用例例会作为 Client 端,将需要执⾏行行的⻚页⾯面操作请求以 Http Request 的⽅方式发送给 Remote Server 。 该 Http Request 的 body,是以 WebDriver Wire 协议规定的 JSON 格式来描述需要浏览器器执⾏行行的具体操作;
  • Remote Server 接收到请求后,会对请求进⾏行行解析,并将解析结果发给 WebDriver,由WebDriver 实际执⾏行行浏览器器的操作;
  • WebDriver 可以看做是直接操作浏览器器的原⽣生组件(Native Component),所以搭建测试环境时,通常都需要先下载浏 览器器对应的 WebDriver。

图解:

在这里插入图片描述数据驱动测试:解决大量重复脚本问题。将数据与脚本进行解耦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

b u g

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值