Selenium网格打开空白页面,没有URL,只有chrome运行测试

时间:2013-11-02 12:02:15

标签: java selenium-webdriver selenium-grid

我试图与两个浏览器firefox和chrome同时运行测试。我用以下命令打开了三个命令行窗口 1. java -jar selenium-server-standalone-2.33.0.jar -role

  1. java -jar selenium-server-standalone-2.33.0.jar -role webdriver -hub localhost:4444 / grid / register -browser browserName =“chrome”,version = 8.0,platform = WINDOWS -Dwebdriver。 chrome.driver = F:\ chromedriver.exe

  2. java -jar selenium-server-standalone-2.33.0.jar -role webdriver -hub     localhost:4444 / grid / register -port 5566

  3. 我在GridTest.java文件中有以下代码

        public static String browser;
        public static void setUp() throws MalformedURLException //throws MalformedURLException
        {
    //      if (browser.equalsIgnoreCase("firefox"))
    //      {
            DesiredCapabilities capability1=DesiredCapabilities.firefox();
            capability1= DesiredCapabilities.firefox();
            capability1.setBrowserName("firefox");
            capability1.setPlatform(Platform.WIN8);
            driver=new RemoteWebDriver(new URL(nodeURL), capability1);
    //      }
    //      
    //      if (browser.equalsIgnoreCase("chrome"))
    //      {
            capability1=DesiredCapabilities.chrome();
            capability1.setBrowserName("chrome");
            capability1.setPlatform(Platform.WIN8);
            driver=new RemoteWebDriver(new URL(nodeURL), capability1);
    //      }
        }
    

    如果我必须在IE中运行测试,是否必须打开另一个命令行窗口?可以测试与testng.xml同时运行吗?请提供解决方案

2 个答案:

答案 0 :(得分:1)

有同样的问题,通过更新" Chromedriver.exe"解决了。

注意:即使您更新到最新的chromedriver.exe,也请确保您的项目指向最新的项目。 (该项目可能指向老潜水员)

答案 1 :(得分:0)

crazvink, 1.您不必为每个浏览器打开一个新的命令行窗口,只需在一个NODE进程中连接浏览器类型,如下所示:

java -jar selenium-server-standalone-2.33.0.jar -role node -browser browserName = firefox,version = 3.6,maxInstances = 5,platform = WINDOWS -browser browserName = chrome,maxInstances = 5, platform = WINDOWS -Dwebdriver.chrome.driver = f:\ chromedriver.exe

  1. 您应该只为集线器运行另一个命令行窗口。

  2. 当然你可以这样做,但是在这么简单的情况下,你需要操纵端口(就像你做的那样)。

  3. 是的,并行运行非常简单,但您需要确保在测试方法本身中实例化webdrivers,并为每种不同的浏览器/平台类型使用dataprovider。然后在testing.xml(testNg?)中设置parallel = methods。 *这是一个可选的解决方案,它可以以更多方式进行圆顶化(如类工厂和并行=实例)。

    请注意:在同一显示器上并行运行可能会有问题,因为浏览器焦点可能会在测试之间受到干扰:(。

    无论如何,也许你会发现这也很有帮助:http://www.ravellosystems.com/blog/build-effective-web-ui-testing-lab/

    用于构建测试网格实验室,无需麻烦并随时扩展。

    [披露:我为Ravello工作。]