一、什么是selenium?
1、是一种浏览器自动化测试框架
2、用于web应用程序的自动化测试
二、主要特点
1、开源、免费
2、多平台(windows、linux、mac)、浏览器(firefox、chrome、ie、opera、safari)、多语言(java、phthon、ruby、php、c#、javascript)支持
3、对于web页面有良好的支持
4、API简单、灵活(用开发语言驱动)易于使用
5、支持分布式测试用例执行
(UI自动化在一台机器上只能是单线程执行。所以多台机器同时运行case的分布式处理方案呼之欲出)
三、版本
selenium经历了两个版本:selenium1.0和selenium2.0
selenium1.0组成:
1、selenium IDE:是一个嵌入到Firefox中的插件,可以实现浏览器的录制与回放功能
2、selenium Grid:自动化测试辅助工具,可以很方便地同时在多台机器上并行运行多个测试用例
3、selenium RC:是selenium的核心工具,支持多种不同的语言编写的测试脚本,通过seleniumRC的服务器作为代理服务器去访问应用,从而达到测试的目的。
主要分为:
client:用于编写测试脚本来控制seleniumserver的库
server:负责控制浏览器的行为,包含三部分:1)Laucher 2)HttpProxy 3)Core
selenium2.0组成:
将WebDriver加入到seleniumRC这一部分中去
SeleniumRC和WebDriver有什么区别?
1)两者类似,都可以看做是一套操作web页面的规范
2)工作原理不一样
- seleniumRC在浏览器中运行javascript应用,使用浏览器内置的javascript翻译器来翻译和执行selenium命令(selenium命令集合)
- WebDriver通过原生浏览器支持或者浏览器扩展直接控制浏览器
- WebDriver针对各个浏览器而开发,取代了嵌入到被测web应用里的javascript