一个好用的测试工具 selenium
近来要写毕业论文,咨询了一下自动化测试的同事,他建议我可以写一下测试工具 Selenium ,这个工具具有非常多的优点:
1. Selenium 使用灵活,简单,写出的测试用例非常简洁,优美,易于维护。
2. Selenium RC 支持多种语言编写测试用例。我熟悉 Java 语言,当时听同事介绍这个工具的时候,就是被这点打动,才下决心学习 selenium ,写毕业论文的。
3. Selenium 有一个简单的 seleniumIDE 工具,以插件的形式在 Firefox 中使用,可以录制 web 操作,进行一些简单重复的测试。
学习了 3 个星期,对 selenium 有了一些了解,迫不及待的想把这个功能非常强大的测试工具介绍给大家。
首先,从简单的工具介绍。 Selenium IDE 是 Firefox 的一个插件,是可以进行脚本录制以及案例转换, Selenium IDE+Firebug 会成为写测试用例的好帮手。
Selenium IDE 下载: http://seleniumhq.org/download/
Firebug 下载: https://addons.mozilla.org/firefox/addon/1843
一. Selenium IDE
1. 安装 Selenium IDE , Firebug 。
2. 启动 Selenium IDE (如图 1 ) :
图 1
Selenium IDE 启动后,会出现如下图 2 对话框:
图 2
上图标明了一些 Selenium IDE 的主要功能。其中,由 Command , Target , Value 组成的表格就是脚本,每个脚本都是由一条一条的 Action( 行为 ) 组成,而每个 Action 又由 (Command , Target , Value) 三者组成。
3. 录制脚本
当弹出上面的 IDE 窗口后,就可以开始 Selenium 的脚本录制了,右上角有个红色的圆点,当它下按时 ( 如上图 2 ) 就表示 IDE 正在进行脚本录制。 OK ,开始录制,录制的时候,直接操作 Firefox 浏览器窗口就可以了, IDE 会自动记录你的操作的,下面给出一个操作录制脚本的例子:
图 3
图 4
上图例子中,我的操作步骤如下:
1. 在地址栏输入: http://www.google.com.hk
2. 登录Google主页,在搜索框输入:selenium
3. 点击“Google搜索”按钮
4. 在搜索结果页面,单击第一条记录
5. Firefox 弹出一个新 Tab 页面,并进入了 selenium官网。
OK ,现在看看我们的 Selenium IDE 录制的结果吧 (如图 5 ) :
图 5
到这一步,脚本录制成功。
二. Selenium RC
介绍一下怎么用 Selenium RC 编写测试用例。
Selenium RC 下载: http://seleniumhq.org/download/ 解压后文件夹里面的东东
图 6
1. 启动 selenium server
打开上图的 selenium-server-1.0.3 文件,在里面创建一个 run.bat 文件,输入
“ java -jar selenium-server.jar ”保存(需要安装好 JDK ) , 点击运行 run.bat 这就启动了 selenium 的测试服务器。如下图所示:
图 7
还有一种方法就是,打开 cmd 进入 selenium-remote-control-1.0.3 的目录,输入命令 “ java -jarselenium-server.jar ” 。
2. 配置 selenium client
还是以 java,eclipse 为例子 来进行说明。
启动 eclipse , 创建一个 java 项目,比如名为 SeleniumTest 把 junit 4 添加到这个项目的 library 里面。 选中此项目,点击右键 Build Path ->Add Librar ies, 选择 Junit, Next, 选择 Junit 4 点 finish . 在该项目 SeleniumTest 文件目录 下面创建一个目录叫 lib , 打开上图 6 中的 selenium-java-client-driver-1.0.1 目录 , 拷贝 selenium-java-client-driver.jar 到刚才创建的 lib 目录下 , 然后 把这个 jar 也加到这个项目的 library 。 Project->properties->Java Build Path -> Libraries 点 Add JARs , 选择 selenium-java-client-driver.jar 所在的文件, 点 finish. 完成之后目录结构如下 8 :
图 8
3. 编写测试脚本
在配置好的客户端项目里,创建一个新的 Java class 叫 TestGoogle 好了 。我们可以利用前面介绍的工具 Selenium IDE 录制导出的 Java 脚本作为例子,稍稍修改:
import com.thoughtworks.selenium.*;
import junit.framework.TestCase;
public class TestGoogle extends TestCase{
public Selenium selenium ;
public void setUp() throws Exception{
selenium = new DefaultSelenium( "localhost" ,4444, "*chrome" , "http://www.google.cn" );
selenium .start();
}
public void testGoogle () throws Exception{
selenium .open( "http://www.google.com.hk" );
selenium .type( "q" , "selenium" );
selenium .click( "btnG" );
selenium .waitForPageToLoad( "30000" );
assertEquals ( "selenium - Google 搜索" , selenium .getTitle());
}
public void tearDown() throws Exception{
if ( selenium != null ){
selenium .stop();
}
}
}
选择
Run->Run as ->Junit Test
,你就会看到和执行
Selenium IDE
一样的效果了。可见,我们用
Selenium RC
可以调用
Java
的一切方法来为测试服务。