2015-07-20 24 views
0

我已经建立Selenium网格2与一个集线器(在高规格戴尔7910服务器,Windows)和8个节点(在虚拟机的所有在Windows上),我的测试框架是在黄瓜-jvm使用Junit。我用詹金斯踢的测试和使用Maven构建项目..Selenium网格测试分布在多个节点

这里是例子:

我在詹金斯20页独立的Maven项目的作业(Maven的+项目+插件)和第10个就业机会是添加到多项目作业A(Multijob +插件)和另外10个作业到多项目作业B.

当我运行作业A编译成功并且测试路由到Hub,然后在我的观察中,我看到测试是连续执行的 (如果我是正确的?)

当我看到Hub控制台集线器正在检测所有8个节点可用,但它只创建2个会话,其中第一个测试传递给节点1,第二个测试传递给节点2,其余节点(3-8)保持空闲,直到前两个测试为止完成或者如果任何测试失败,那么集线器创建到第三节点的新会话,并且在节点3上执行3测试,等等...此过程继续,直到它在节点8上执行第8次测试之后,在完成过程之后,集线器执行节点上的9个测试是可用的,这是明显的Node1大部分情况。

根据我的要求,我希望集线器创建8个会话并将请求一次传递给所有8个节点,这样我的前8个测试应该在8个不同的机器上执行完成,然后执行下一个可用节点第9次测试等等。 而我所有的测试都是浏览器特定的,只能在IE中执行。

集线器和节点配置:

集线器:

CD C:\硒 - 服务器 Java的罐子硒 - 服务器 - 独立-2.45.0.jar -role毂-timeout 600 - browserTimeout 600 http://xx:xx:xx:xx/grid/register -port 4444

节点1:

cd c:\ selenium-server

java -jar selenium-server-standalone-2.45.0.jar -trustAllSSLCertificates -browser browserName =“Internet Explorer”,version = 11,platform = WINDOWS,maxInstances = 1 -Dwebdriver .ie.driver = C:\ IEDriver \ InternetExplorerDriver.exe -role节点-hub http://pc-582v762:4444/grid/register -port 5555 -maxSession 1

节点2,节点3,节点4 ........... ....节点8 和节点命令其余节点相同

注意:我已替换 - 角色与'webDriver'仍然结果是一样的,所有的虚拟环境都是Win7和Win8梳子inations

希望我对我的问题非常清楚。对不起,大众信息,我只是想成为细节。

+0

假设集线器和节点基础架构设置正确,您可能面临测试运行器本身的限制。你用什么来运行测试?这是JUnit吗? TestNG的?这是Java吗?即使正确配置网格,您也必须配置测试运行器以并行运行测试。 – automatictester

+0

@automatictester是的,正如我在上面的问题中提到的,我使用的是junit,而框架是用java编写的。 这里是TestRunner.java代码 ' import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; import org.junit.runner.RunWith; @RunWith(Cucumber.class) @CucumberOptions 公共类的TestRunner {} ' – Vamshi

+0

@automatictester 感谢您的答复, 其实我已经找到了问题是与詹金斯建立执行当前默认的执行者是2等等在这种情况下,我必须将执行程序增加到网格设置中可用的节点的数目,但它在创建这些节点上的浏览器实例的过程中起作用 但是它不完全修复.. :-( 第一次运行一半,然后作业失败和其他作业以及当我看到与删除suirefirebooter有关的错误时出错 – Vamshi

回答

0

默认情况下,CucumberJVM附带JUnit并在单线程中运行测试。如果你想在并行运行它,这里是具体的JUnit的解决方案的例子:

https://www.opencredo.com/2013/07/02/running-cucumber-jvm-tests-in-parallel

下面是具体的TestNG的解决方案:

http://automatictester.co.uk/2015/06/11/basic-cucumberjvm-selenium-webdriver-test-automation-framework/

我试着用替换的JUnit TestNG只要我可以。

+0

感谢您的回复, – Vamshi