Selenium是ThoughtWork公司专门为 Web 应用而开发的自动化测试工具,现由OpenQA托管和维护。
Selenium 的核心,也称 browser bot,是用 JavaScript 编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot 负责执行从测试脚本接收到的命令,测试脚本要么是用 HTML 的表布局编写的,要么是使用一种受支持的编程语言编写的。
二、Selenium 组成(分为四部分)
(1).Selenium IDE
Selenium IDE是在core的基础上的一种应用, Selenium IDE是基于FIREFOX浏览器的一个插件,提供GUI界面来运行Selenium测试。Selenium IDE提供脚本回放录制功能,可以将用户在浏览器中执行的操作记录下来,生成各种形式的脚本,可以将这些脚本保存供以后使用。
a).HTML: for Selenium Core mode
b).多种语言的基于rc 模式的test code, 相当于Jmeter的GUI模式和JMeter脚本的生成BadBoy
(2).Selenium Core
是selenium的核心部分,包含核心js以及处理用户指令的proxy server等,是使用HTML的方式来编写测试脚本。,即有assertion机制的test suite runner。它由一些纯JS代码组成,可以运行在windows/linux的不同browser上
需要在Server端安装selenium core jar
(3).Selenium Remote Control (Selenium RC)
采用java编写的代理服务器,测试脚本可以采用多种语言编写。提供一个Selenium Server可以启动,停止和控制任何浏览器,这个服务器使用AJAX直接和浏览器进行交互,可以使用HTTP GET/POST请求向Selenium Server发送命令。
(4).Selenium Core HTA
可以在IE最高安全等级(特权)下工作(仅IE,较少使用)
三、Selenium的运行模式
Selenium可以按两种模式来运行:(1).TestRunner (selenium-core)
生成的测试脚本可以用Selenium Core手工执行
(2).Driven (selenium-rc)
放入Java,C#,Ruby的单元测试用例中自动运行