selenium基本原理,selenium的优点

  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脚本。

selenium基本原理,selenium的优点