《软件测试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三部分:
- Selenium Core:被注入到浏览器页面中的JavaScript函数集合,用来实现界面元素的识别和操作。
- Http Proxy:为代理服务器可修改JavaScript的源,以达到“欺骗”被测站点的目的。
- Launcher:用来在启动测试浏览器时完成Selenium Core的注入和浏览器代理的设置。
Client Libraries:是测试用例代码向Selenium RC Server发送Http请求的接口,支持多种语言。
2. Selenium V2.0
Selenium 2.0,又称Selenium WebDriver,其利用的原理是:使用浏览器原生的WebDriver实现页面操作。
从代码执行上看WebDriver原理:
- 自动化代码:代码发送请求给我浏览器驱动。
- 浏览器驱动:解析代码并发送到浏览器。
- 浏览器:根据发送到浏览器的指令完成相关操作。
总的来说:Selenium 1.0和Selenium 2.0的内部实现机制和原理:Selenium 1.0的核心是基于JavaScript代码注入;而Selenium 2.0的核心是运用了浏览器原生支持的WebDriver。

浙公网安备 33010602011771号