如何在两个不同的节点中运行selenium测试用例?

时间:2013-05-14 06:26:05

标签: selenium-webdriver selenium-grid

实际上我需要使用FIREFOX浏览器(selenium网格)在两个不同的节点中运行我的单个selenium测试用例,我已经使用下面的命令启动了我的集线器

java -jar selenium-server-standalone-2.32.0.jar -role hub 

启动了两个具有两个不同端口号的节点:

节点:1

java -jar selenium-server-standalone-2.32.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 7575 -browser browserName=firefox,version=18,platform=WINDOWS

节点:2

java -jar selenium-server-standalone-2.32.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 8585 -browser browserName=firefox,version=18,platform=WINDOWS

但是当我执行我的测试用例时,我只能在一个节点中查看我的执行,其他节点仍然保持不变,它显示Done :/status但没有执行

请你帮忙解决这个问题

提前致谢

1 个答案:

答案 0 :(得分:7)

测试人员方法:

  • 使您的测试可以作为独立的.jar文件运行。这意味着测试实际上不是@Test,而是main方法中的一些方法或代码
  • 专业提示:如果可以,请针对同一个集线器运行节点。如果计算机位于同一网络中,您可以访问这些计算机,则可以执行此操作。
  • 如果可以这样做,您只需运行.jar文件两次,告诉huib的位置,并自动分配节点
  • 如果无法做到这一点,则必须在每台计算机(节点)上部署这些.jar文件并运行它们(大多数情况下需要两个人)

示例:

我自己的计算机在本地网络中有IP 10.131.7.11。所以我将运行 hub ,每个节点都会执行此操作:

java -jar selenium-server-standalone-2.32.0.jar -role webdriver -hub http://10.131.7.11:4444/grid/register -port 7575 -browser browserName=firefox,version=18,platform=WINDOWS

节点运行后,我将运行两次测试。然后,集线器将自动将浏览器分配给具体节点。

开发人员方法:

  • 您可以使用多线程并在两个线程中运行一次测试。

但是因为我是测试人员,所以我使用第一种方法:)我确实与我们的开发人员沟通,他们帮助我创建了多线程测试套件,这是一个白痴证明(在我自己测试:) :)