Selenium 自述
Selenium 是由Jason Huggins软件工程师编写的一个开源的浏览器自动化测试框架。主要用于测试自动化Web UI应用程序。
Selenium 工作原理
通过编程语言(C#、java、javascript、Python、Ruby)来调用Selenium API,从而驱动浏览器进行自动化Web UI应用测试。
Selenium 特点
开源:使用c语言编写的,开放源代码,任何人都阅读源码,自由修改。
真实:模拟用户各种操作(鼠标与键盘上操作),支持相对复杂交互。
跨平台: 支持多浏览器。(IE、Chrome、Firefox)
支持多服务端平台。(C#、java、javascript、Python、Ruby)
Selenium 组件
Selenium IDE:
一款浏览器chrome/Firefox的Selenium插件,可以在浏览器端自动创建测试与执行测试用例,支持脚本记录与回放。
运行模式由Selenium IDE与浏览器组成。
Selenium WebDriver:
通过编程语言(C#、java、javascript、Python、Ruby)可以在单一本地或远程计算机上本地模拟用户进行操作浏览器。
运行模式由编程语言、Selenium、浏览器组成。
Selenium Remote Control:
通过编程语言(C#、java、javascript、Python、Ruby)可以在远程服务器中远程控制本地或其他计算机模拟用户进行操作浏览器。
运行模式由编程语言、Selenium Remote Control Server、Selenium、浏览器组成。
PS:随着Selenium 2的发布,Selenium Remote Control已被正式弃用,推荐使用Selenium WebDriver。
Selenium Grid:
是对Selenium Remote Control扩展,通过编程语言(C#、java、javascript、Python、Ruby)可以在远程服务器中控制多台本地或其他计算机模拟用户进行操作浏览器。
运行模式由编程语言、Selenium Grid、Selenium、浏览器组成。
总结:浏览器自动化测试可以减少重复Web UI测试工作与测试成本,从而提高测试效率。
浏览器自动化测试页面频繁更改会增加测试脚本维护成本,而且浏览器自动化测试不能完全取代人工测试。