Selenium-RC and Continuous Integration

http://wiki.javascud.org/display/SEL/Selenium-RC+and+Continuous+Integration

本页面是关于在一个持续集成的系统中使用 Selenium-RC - 通过命令行、Ant 或者 TestNG 来运行 Selenium 测试。

首先,我们收集信息。然后我们把它们合理的整理好。关键问题是有很多种方式启动测试并且收集结果, 所以你不得不配合好你所使用的工具 (ANT, TestNG, CC, ...)

如此使用 Selenium-RC 就需要了解很多事情:

Selenium 服务器 (selenium-server.jar) 是实际上启动 Web 浏览器的程序。这非常重要,因为如果你想通过命令行参数传递参数给浏览器,你就要通过改变服务器的环境来做。
使用 Xvfb (X Windows Virtual Frame Buffer):如果你想让 Selenium 运行在 Unix 服器上 - 而不需要使用 X Windows 显示 - 或者你不想看到 Web 浏览器弹出,使用 xvfb。这是一个仅运行在内存里面的 X Server。

ANT
启动服务器用的 target :

<java jar="${selenium-server.jar}" fork="true" spawn="true" /> 停止服务器用的 target (引自 Forum thread) :

<target name="stop-server">
<get taskname="selenium-shutdown" src="http://localhost:4444/selenium-server/driver/?cmd=shutDown"
dest="result.txt" ignoreerrors="true" />
<echo taskname="selenium-shutdown" message="DGF Errors during shutdown are expected" />
</target>用于启动 Selenese 测试的 target (引自 Forum thread) :

<target name="runSeleniumTests">
<java jar="${acceptanceTestLibDir}/selenium-server.jar" fork="true">
<arg line="-htmlSuite "${firefox}""/>
<arg line=""${baseURL}""/>
<arg line=""${acceptanceTestListDir}/testSuite.html""/>
<arg line=""${acceptanceTestReportDir}/results.html""/>
<arg line="-timeout 30"/>
</java>
</target>一个完整的例子 :

<?xml version="1.0" encoding="UTF-8"?>
<project name="Run Test" default="run_test" basedir=".">

<property name="test.dir" value="src\test" />

<property name="testLibDir" value="lib" />

<path id="run.cp">
<pathelement path="build"/>
<fileset dir="build/">
<include name="*.jar"/>
</fileset>
<pathelement path="lib"/>
<fileset dir="lib/">
<include name="*.jar"/>
</fileset>
</path>

<target name="run_test" description="Start Proxy ; Run TestNG ; stop Proxy">
<parallel>
<antcall target="start-server"></antcall>
<sequential>
<echo taskname="waitfor" message="Wait for proxy server launch" />
<waitfor maxwait="2" maxwaitunit="minute" checkevery="100">
<http url="http://localhost:4444/selenium-server/driver/?cmd=testComplete"/>
</waitfor>
<antcall target="run_testNG"></antcall>
<antcall target="stop-server"></antcall>
</sequential>
</parallel>
</target>

<target name="run_testNG" description="Run TestNG">
<testng classpathref="run.cp" haltOnfailure="false">
<xmlfileset dir="." includes="testng.xml" />
</testng>
</target>

<target name="start-server">
<java jar="lib/selenium-server.jar" fork="true">
<arg line="-timeout 30"/>
<jvmarg value="-Dhttp.proxyHost=proxy.corporate.com"/>
<jvmarg value="-Dhttp.proxyPort=3128"/>
</java>
</target>

<target name="stop-server">
<get taskname="selenium-shutdown"
src="http://localhost:4444/selenium-server/driver/?cmd=shutDown"
dest="result.txt" ignoreerrors="true" />
<echo taskname="selenium-shutdown" message="DGF Errors during shutdown are expected" />
</target>

<taskdef resource="testngtasks" classpath="lib/testng-5.0-jdk15.jar" />

</project>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值