《软件测试52讲》读书笔记(十二) —— GUI自动化测试

UI自动化测试通过Selenium实现,对于要做的需求理解清晰后,都需以手工测试的方式执行并梳理GUI测试的具体步骤。然无论是做UI自动化还是接口自动化都需了解其运行原理。

Selenium实现原理:

  • Selenium V1.0核心:Selenium RC。
  • Selenium V2.0核心:WebDriver。
  • Selenium V3.0增加了对MacOS的Safari和Windows的Edge的支持,并彻底删除了对Selenium RC的支持。

 

Selenium工作原理:

1. Selenium V1.0

Selenium V1.0又称Selenium RC,其利用原理是:JavaScript代码可以很方便地获取页面上的任何元素并执行各种操作。因“同源政策”,因此需要欺骗被测的网点。

Selenium RC分为Selenium RC Server和Client Libraries。

Selenium RC Server分为Selenium Core,Http Proxy和Launcher三部分:

    1. Selenium Core:被注入到浏览器页面中的JavaScript函数集合,用来实现界面元素的识别和操作。
    2. Http Proxy:为代理服务器可修改JavaScript的源,以达到“欺骗”被测站点的目的。
    3. Launcher:用来在启动测试浏览器时完成Selenium Core的注入和浏览器代理的设置。

Client Libraries:是测试用例代码向Selenium RC Server发送Http请求的接口,支持多种语言。

 

 2. Selenium V2.0

Selenium 2.0,又称Selenium WebDriver,其利用的原理是:使用浏览器原生的WebDriver实现页面操作。

从代码执行上看WebDriver原理:

  1. 自动化代码:代码发送请求给我浏览器驱动。
  2. 浏览器驱动:解析代码并发送到浏览器。
  3. 浏览器:根据发送到浏览器的指令完成相关操作。

 

总的来说:Selenium 1.0和Selenium 2.0的内部实现机制和原理:Selenium 1.0的核心是基于JavaScript代码注入;而Selenium 2.0的核心是运用了浏览器原生支持的WebDriver

posted @ 2022-04-01 10:17  麥女孩的小火柴  阅读(83)  评论(0)    收藏  举报