尝试使用selenium Grid在多个浏览器中运行并行测试用例

时间:2012-02-22 17:09:28

标签: selenium selenium-grid

我正在尝试使用多个浏览器运行两个测试用程序

我的XML

                  <?xml version="1.0" encoding="UTF-8"?>
                  <suite name="Same TestCases on on same machine on different Browser"  verbose="3"  parallel="tests" thread-count="2">
                  <test name="Run on Firefox">
                  <parameter name="browser"  value="*chrome"/>
                  <classes>
                  <class name="SeleniumGrid"/>
                  </classes>
                  </test>

                  <test name="Run on IE">
                  <parameter name="browser"  value="*iexplore"/>
                  <classes>
                  <class name="SeleniumGrid"/>
                  </classes>
                  </test>
                  </suite>

CLASS

                   public class SeleniumGrid {

public Selenium selenium;
@Parameters( { "browser" })
@BeforeClass
public void setup(String browser) {
    selenium = new DefaultSelenium("localhost", 4444, browser,"http://google.com");
    selenium.start();
    test_first();
    test_second();
}
@AfterClass
public void tearDown() {
    selenium.stop();
}
@Test
public void test_first() {
    selenium.open("/");
    selenium.type("q", "First");
    selenium.click("btnG");
}
@Test
public void test_second() {
    selenium.open("/");
    selenium.type("q", "second");
    selenium.click("btnG");
}

}

它运行没有错误并打开1 iexplorer和1 firefox浏览器

我的GRID Hub SnapSot显示了有效的远程控制:chorome&amp; Internet Explorer

但浏览器只是空白页面,我期待google.com页面。

知道我哪里错了

由于

2 个答案:

答案 0 :(得分:0)

selenium.open("http://google.com");

如果不起作用,请尝试:

selenium.open("http://google.com");
selenium.open("http://google.com");

帮助我在Opera中使用硒。

如果无法正常升级到WebDriver。最简单的解决方案。

答案 1 :(得分:0)

我认为问题在于你没有使用任何东西进行分叉。我所做的是创建2个测试类,每个测试类中包含1个@Test。然后,我使用Gradle-maxParallelForks或Maven Surefire-threads来分叉测试运行程序。此外,TestNG可以在一个jvm内分叉进程,只要你将它设置为“按类分叉”,它就可以工作。