selenium基本原理,selenium的优点
Selenium原理我们用Selenium来实现自动化测试,主要需要三样东西。
1.测试脚本,可以是python和java编写的脚本程序(也叫客户端)
2.浏览器驱动,这个驱动是根据不同的浏览器开发的。不同的浏览器使用不同的webdriver驱动,需要相应的浏览器版本,比如geckodriver.exe(chrome)
3.浏览器,目前selenium支持市面上大部分浏览器,如Firefox、Google、IE等。
Selenium脚本首先看一个简单的代码。
从Selenium导入web drive RDR=web driver . chrome()#打开浏览器,执行上面的代码。我们会发现程序打开的是Chrome浏览器。
前提:你已经正确配置了chrome的驱动和对应版本,下载的浏览器驱动放在python的根目录下,方便程序在执行驱动时查找(因为你在安装python软件时已经配置了环境变量。
那么硒是如何实现这个过程的呢?通过下图了解硒的工作原理。
要用Selenium实现自动化,需要三件主要的事情:
1.自动化测试代码:自动向浏览器发送请求的驱动程序(如Firefox驱动、Google驱动、IE驱动)。
2.浏览器驱动:解析这些自动化测试代码,解析后发送给浏览器。
3.浏览器:执行浏览器驱动发送的指令,最终完成工程师想要的操作。
测试代码包含了浏览器界面上各种预期的操作,比如点击。测试代码通过向Webdriver发送指令,让Webdriver知道自己要做什么操作,Webdriver根据这些操作控制浏览器界面,从而测试代码达到在浏览器界面上操作的目的。
Selenium脚本执行的后端实现流程:
1.对于每个Selenium脚本,将创建一个http请求并发送给浏览器驱动程序。
2.浏览器驱动程序包括一个http服务器来接收这些HTTP请求。
3.HTTP服务器收到请求后,会根据请求具体控制相应的浏览器。
4.浏览器执行特定的测试步骤。
5.浏览器将步骤执行结果返回给HTTP服务器。
6.http服务器将结果返回给Selenium的脚本。如果是错误的HTTP代码,我们会在控制台中看到相应的错误消息。
基于WebDriver的协议:JSON Wire协议
Wire protocol是对基于http协议的http请求和响应的主体部分中的数据的进一步规范。主体部分主要传输特定的数据,在WebDriver中以JSON的形式存在和传输,这就是JSON Wire协议。所以在客户端和服务器之间,只要基于JSON Wire协议传输数据,就和具体的脚本语言无关,这样同一浏览器的驱动就可以同时处理Java脚本和Python脚本。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。