admin 管理员组文章数量: 887021
2024年2月27日发(作者:模版天空)
selenium 工作原理
1 使用Selenium实现自动化测试,主要包括:
1)测试脚本,一般指脚本程序,也称client端
2)浏览器驱动,不同的浏览器使用不同的webdriver驱动程序且需要对应相应的浏览器版本,也称:服务端,如:(chrome)
3)浏览器,目前selenium支持大多数浏览器,如:火狐,谷歌,IE等
解析:
步骤1:对于每一个Selenium脚本,一个http请求会被创建并且发送给浏览器的驱动(测试人员执行测试脚本后,就创建了一个session, 通过http 请求向webservice发送了restfull的请求)
步骤2:浏览器驱动中包含一个HTTP Server,用来接收发送的http请求,HTTP Server接收到请求后根据请求来具体操控对应的浏览器(webservice翻译restfull的请求为浏览器能懂的脚本,然后接受脚本执行结果)
步骤3:浏览器将步骤执行结果返回给HTTP Server,HTTP Server又将结果返回给Selenium的脚本。若是错误,可在控制台看到对应的报错信息(webservice将结果进行封装--json 给到客户端client/测试脚本 ,然后client就知道操作是否成功,同时测试也可以进行校验了)
2 相关协议
1)HTTP协议是一个浏览器和Web服务器之间的通信的标准协议,几乎每一种编程语言都提供了丰富的http libraries,可方便的处理客户端Client和服务端Server之间的请求request及响应response。WebDriver的结构中是典型的C/S结构,WebDriver API相当于是客户端,浏览器驱动才是真正的服务端。
2)WebDriver协议:JSON Wire protocol,是在HTTP协议基础上,对HTTP请求及响应的body部分的数据进一步规范。常见HTTP请求及响应包括:http请求方法,http请求及响应内容body,http响应状态码等。
3)常见的http请求方法:GET(用来服务器获取信息,如:网页的标题信息)、POST(用来服务器发送操作请求,如:findElement,Click等)
4)HTTP 响应代码:在WebDriver中进行了明确的反馈信息,细化了HTTP响应的状态码,如:7:NoSuchElement,11:ElementNotVisible等
5)Body部分主要传送具体的数据,WebDriver中数据都是以JSON形式存在并进行传送(Selenium是将各个浏览器的API封装成,即The WebDriver Wire Protocol),称作:JSON
Wire protocol的Webdriver API
6)打开chromedriver,可以看到开启一个Server,并开启端口:9515
版权声明:本文标题:selenium 工作原理 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1708984971h535815.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论