通过Selenium Grid运行Selenium IDE测试

时间:2012-04-28 00:51:00

标签: selenium selenium-rc selenium-ide selenium-grid

我应该首先说,我很遗憾和痛苦地 noob 。但我正试图改变它!我不知道任何编程语言,但通过做足够的研究来获得我曾经做过的任何工作,设法“让事情发生”。

无论如何,我一直在使用Selenium IDE创建Selenium测试,我在通过Selenium Grid运行这些测试时遇到了一些麻烦。

我一直在将测试导出为JUnit 4(Webdriver)文件。我在Ubuntu无头服务器上运行网格,在一台运行IE9和Firefox的Windows 7机器上运行我的遥控器,以及运行IE8和Chrome的Windows Vista机器。

我的目标是将我从Selenium IDE导出的测试作为JUnit 4(Webdriver)文件,并在我的两台Windows机器上并行运行它们。我已经在我的Windows机器上编辑了我的主机文件,以识别名为“seleniumgrid”的Ubuntu服务器。例如:

在Ubuntu服务器终端1上: 蚂蚁发射中心

Win7终端1: ant -Dport = 5555 -Denvironment =“Windows上的IE9”-Dhost = Win7 -DhubURL = http:// seleniumgrid:4444 launch-remote-control

Win7终端2: ant -Dport = 5555 -Denvironment =“Windows上的Firefox”-Dhost = Win7 -DhubURL = http:// seleniumgrid:4444 launch-remote-control

Vista termina1: ant -Dport = 5555 -Denvironment =“Windows上的IE8”-Dhost = WinVista -DhubURL = http:// seleniumgrid:4444 launch-remote-control

Vista terminal2: ant -Dport = 5555 -Denvironment =“Windows上的Chrome”-Dhost = WinVista -DhubURL = http:// seleniumgrid:4444 launch-remote-control

现在,从这里开始,我正在尝试启动从Selenium IDE导出的JUnit4(webdriver)文件来运行此配置。该文件的名称标题为:Registration.java。

现在我要做什么来运行Registration.jar文件?我似乎无法找到任何回答这个问题的文件,这让我相信我对这一切的运作方式有一个根本的误解......

如果以前已经回答过这个问题,请原谅。对于这些东西,我的术语很差。

非常感谢您花时间阅读本文,如果有答案,还需要更多答案。

布兰登

1 个答案:

答案 0 :(得分:2)

无需通过ant启动集线器和节点。您可以从cmd:

运行它们

java -jar selenium-server-standalone-2.21.0.jar -role hub - 将运行中心 java -jar selenium-server-standalone-2.21.0.jar -role node -hub http://seleniumgrid:4444/grid/register - 将运行节点

节点的默认端口是5555,因此对于第二个终端,您应指定与默认端口不同的端口,例如5556:

java -jar selenium-server-standalone-2.21.0.jar -role node -port 5556 -hub http://seleniumgrid:4444/grid/register

此外,您还应为每个节点指定浏览器参数,例如:

-browser browserName=firefox,maxInstances=5,platform=WINDOWS

在JUnit测试中,您应该RemoteWebDriver使用DesiredCapabilities

DesiredCapabilities capability = DesiredCapabilities.firefox();
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);

对于并行执行,你应该另外编辑你的测试(抱歉,不能使用jUnit,所以除了你可以在下面找到的链接之外,这里没有多少帮助。)

在Linux机器的类路径中包含JUnit类文件,类文件,包括JUnit测试类,类文件所依赖的库:

export CLASSPATH=$JUNIT_HOME/junit.jar:/myproject/classes:/myproject/lib/something.jar

在Linux机器上调用Junit命令:

 java org.junit.runner.JUnitCore [test class name]

或者您可以改为使用ant

我建议在Linux上启动集线器,在Windows上使用一个浏览器启动一个节点而不进行任何并行化,因此您将确保此部分正常工作。下一步是按顺序运行两个节点的测试,然后尝试并行运行它们。

有关完整教程,请阅读以下材料:How do I run JUnit using AntActivating Junit tests from Command LineGrid2 tutorialParallel JUnit 4 and Selenium(三部分)

相关问题