Selenium htmlsuite并行执行

时间:2014-06-05 18:21:16

标签: selenium selenium-webdriver selenium-ide selenium-grid

是否可以并行执行Selenium记录的HTML测试用例或html套件。是否可以通过JUnit或TestNG或Ant?

我已经到处寻找了几天,但没有找到任何东西。谢谢。

2 个答案:

答案 0 :(得分:0)

如果不做任何更改,就无法在Grid中运行录制的脚本。

如果您可以进行更改,请阅读以下内容。

假设您使用Selenium FireFox IDE插件来记录测试用例......

  • 使用IDE菜单选项
  • 将录制的脚本导出到适当的(junit)版本
  • 将使用情况更改为RemoteWebDriver
  • 配置jUnit(需要正确安装)
  • 使用jUnit设置网格(可用大量文档)

不清楚?请进行Google搜索:)

http://blicksplitter.wordpress.com/running-selenium-grid2-tests-in-parallel/

http://sauceio.com/index.php/2010/10/parallel-junit-4-and-selenium-part-three-parallelism-and-ondemand/

答案 1 :(得分:0)

命令行版本

不确定这是否是您正在寻找的,但是如果您通过命令行执行测试(您需要导航到您的selenium JAR所在的文件夹才能使其工作):

java -jar selenium-server-standalone-2.42.2.jar -userExtensions "C:\UITests\user-extensions.js" -port 4444 -htmlSuite "*firefox" "http://appURLHere" "C:\UITests\TestSuite.html" "C:\UITests\TestResults.html" -timeout 1800 -avoidProxy

然后你应该能够同时使用相同的JAR启动测试运行器的另一个实例,只需使用另一个端口,如:

java -jar selenium-server-standalone-2.42.2.jar -userExtensions "C:\UITests\user-extensions.js" -port 5555 -htmlSuite "*firefox" "http://appURLHere" "C:\UITests\TestSuite.html" "C:\UITests\TestResults.html" -timeout 1800 -avoidProxy

Ant版本

这可以通过蚂蚁来完成,看起来像这样:

<parallel>
 <java jar="${testDependencies}\selenium-server-standalone-2.42.2.jar" fork="true">
    <arg line="-userExtensions &quot;${testDependencies}\user-extensions.js&quot;"/>
    <arg line="-port 4444"/>
    <arg line="-htmlSuite &quot;*firefox ${firefox}&quot;"/>
    <arg line="&quot;${appURL}&quot;"/>
    <arg line="&quot;${suite.file}&quot;"/>
    <arg line="&quot;${report.name}&quot;"/>
    <arg line="-timeout ${timeout}"/>
    <arg line="-avoidProxy"/>
 </java> 

 <java jar="${testDependencies}\selenium-server-standalone-2.42.2.jar" fork="true">
    <arg line="-userExtensions &quot;${testDependencies}\user-extensions.js&quot;"/>
    <arg line="-port 5555"/>
    <arg line="-htmlSuite &quot;*firefox ${firefox}&quot;"/>
    <arg line="&quot;${appURL}&quot;"/>
    <arg line="&quot;${suite.file}&quot;"/>
    <arg line="&quot;${report.name}&quot;"/>
    <arg line="-timeout ${timeout}"/>
    <arg line="-avoidProxy"/>
 </java> 
</parallel>

希望这有助于澄清这一点!