Selenium使用说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Selenium安装及使用说明
这是我在使用Selenium中的一些经验,供大家参考。
一、版本说明
目前,Selenium有四个版本,Selenium IDE、Selenium Core、Selenium RC、Selenium Core HTA。
Selenium Core需要在远程服务器上安装,不支持跨域,且仅支持selenese语言。
Selenium Core HTA仅支持IE浏览器,selennese语言。
Selenium IDE和Selenium RC(Remote Control)都支持跨域,不需要在远程安装,它们各自有一些无可比拟的优点,简单介绍如下:
Selenium IDE
优点:
它能够嵌入到浏览器中(但它是一个完整的测试工具);可以直接操作页面进行录制/回放,比较直观;可以保存成不同语言的版本,如java、python、PHP、C#、perl等。
缺点:
目前只支持Firefox(最新版本可以支持Firefox3了)。
另外,它仅支持selenese语言。
Selenium RC
优点:
支持目前几乎所有的浏览器,包括firefox、IE、Opera等;支持多种语言,IDE中生成的所有语言他都支持,可以使用这些语言进行编程;同时,RC支持两种框架JUnit和TestNG,借助JUnit可以生成多种不同形式的结果文档,TestNG目前也备受推崇,因为他支持多线程,对Selenium Grid支持比较好,如果有需要以后可以研究一下,这里我们用JUnit。
缺点:
对firefox3支持不太好,需要进行相关配置,目前使用firefox2;
鉴于我们的实际情况,Selenium IDE直观的页面录制及SeleniumRC支持Java语言等优点,所以采用了Selenium IDE + Selenium RC + Java + JUnit + Ant这样一个框架进行测试。
使用Ant+JUnit是为了测试自动化及更好的输出测试报告。
二、安装
以下是我在window下使用selenium进行测试需要安装的软件(注:使用的版本是我测试成功的版本):
●FireFox2
●JDK6:
●Selenium IDE 1.0 beta2:
●Selenium RC1.0
●Ant1.7.1
●JUnit4.5
●Firebug(可选)
1.FireFox2:
安装FireFox2浏览器,因为Selenium RC对FireFox3支持不太好,目前我用的是FireFox2。
有兴趣的可以一起研究以下Selenium RC对FireFox3的支持。
2.JDK 6:
JDK是seleniu服务器运行的前提,也是使用java语言编程必不可少的。
最好安装比较新的版本,低版本可能会与其它软件不兼容,我用的是JDK6。
安装过程相信大家都比较熟悉,注意配置好环境变量。
3.Selenium IDE 1.0 beta2
官方网站:/download.jsp
安装过程比较简单,下载最新安装软件,文件扩展名为.xpi,直接将该文件拖到FireFox 浏览器中,按提示进行即可,安装完成后重启浏览器,就可以在工具选项中看到Selenium IDE选项,点击,即可打开Selenium IDE。
4.Selenium RC1.0
官方网站:/download.html
Selenium RC的框架及原理可以查阅网站上的相关文档。
不需要安装,window下直接解压.zip文件到指定的目录即可,我这里解压到E:\。
解压后要把selenium-server-1.0-beta-1 和selenium-java-client-driver-1.0-beta-1文件夹下的jar包添加到CLASSPATH中去。
●selenium-server-1.0-beta-1中的jar包主要是启动selenium服务器使用;
●selenium-java-client-driver-1.0-beta-1下的jar包主要是用java编写测试用例使用。
5.Ant1.7.1
官方网址:/
直接解压缩就可以。
如果已安装过的,可以不安装,注意一下版本就行。
使用ant主要是为了与CruiseControl的结合,实现自动化测试。
注意:
●配置好ANT_HOME、PATH环境变量
●一定要使用1.7.0以上的版本,因为低版本的ant对junitreport任务的支持不是很好,
还需要下载xalan包等,配置比较麻烦。
6.JUnit4.5
官方网址:/
直接解压缩即可
注意:将JUnit下的jar包加到CLASSPATH中去,运行junit框架时使用。
7.FireBug(可选)
这个工具功能比较强大,我个人挺喜欢的,他是FireFox的附件,直接嵌入到FireFox 中,对FireFox绝对支持,可以帮助我们从不同角度分析页面中的代码,而且直观易读。
可以安装用一下,下载网址:/
三、Selenium IDE + Selenium RC + Java + JUnit + Ant 执行过程
下面以一个简单的例子说明一下这一框架的具体测试实现过程。
用例描述:打开页面,查找“hello world”字符串。
主要的执行过程我把它分成4步:
1.录制脚本(Selenium IDE)
1)打开Selenium IDE,在Base URL栏中输入地址;
2)在录制按钮(右侧红色圆点)被按下的情况下,在FireFox浏览器中打开
页面,并查找hello world,进入hello world页面。
3)录制完成后选择“文件”——Export Test Case As——Java Selenium RC。
导出
为java文件。
注意:
●可以在“工具”-“选项”对话框中设置记录的内容,例如判断打开页面的标题等。
●Selenium IDE生成的是html格式的文件,通过html运行,可以查看其它语言格式。
●Selenium IDE是一个完整的测试软件,可以编写测试用例,执行,生成报告等。
2.修改脚本
如果要使用JUnit框架运行生成的测试用例,需要修改源文件中的部分内容。
如下图红色部分,修改内容包括(主要是2、3步):
1)第一行pakage,可以删除不用,也可以重新设置打包;
2)引入import junit.framework.*;
3)把测试类的基类SelenseTestCase改为TestCase;
4)在需要填入网址的地方输入正确的网址。
可以修改setUp函数为图中所示。
设
置服务器地址、端口号(默认为4444),浏览器,网址等。
5)添加main函数。
3.编写build.xml
主要内容包括:
1)编译生成的java文件
使用javac编译java文件:javac NewTest.java
2)启动selenium服务
命令:java –jar selenium-server.jar
由于测试用例的执行前提必须是selenium服务的启动,我使用start命令在新窗口中启动selenium服务,同时需要用到一个<parallel>的任务帮助调整任务的执
行顺序(见下表)。
3)执行测试用例,并输出报告
这里我用junit框架调用类文件,执行测试用例,参见下面的代码,当然,可以使用java直接执行等其它方式执行,但为了自动生成测试报告,所以使用了Ant
的<junit>任务和<junitreport>任务。
<junit>自动生成xml格式的测试报告(当然,还可生成其它格式的测试报告,如txt、pdf等;参见<formatter>),默认生成的文件名称为TESTS-NewTest.xml。
通过junitreport任务的report将xml格式的文件转换成html格式的文件。
<junitreport>将所有生成的xml文件统一集成为一个文件,默认的文件名为TESTS-TestSuits.xml,report可以将该文件转换成html文件,当定义format为
“noframe”时,为无框架结构,生成名为Junit-TestSuite.html的文件。
当设置format
为“frame”时,可以自己定义框架结构(.xsl文件),本例中我使用的是一个汉化
了的框架结构,已经拷贝到当前目录,这样指定styledir为当前目录即可用自定义
的框架结构输出测试结果了。
junit task参见:/manual/OptionalTasks/junit.html
junitreport task参见:/manual/OptionalTasks/junitreport.html
4)停止selenium服务
4.运行
直接在当前目录中执行ant,即可看到服务启动及测试执行的过程,测试过程是在IE中进行的。
最终的目录结构为:
四、写在最后
以上是以Selenium IDE + Selenium RC + Java + JUnit + Ant这个框架为例,介绍了使用selenium的一些基本方法及一些个人体会,希望能帮助大家快速入门。
可能有些不足的地方,欢迎大家批评指正。
Selenium是一个比较复杂的软件,同时也是一个成长中的软件,需要长时间的、深入的研究,希望以后能和大家一起讨论,共同分享研究成功。