【问题标题】:Selenium grid 2 chrome硒网格 2 铬
【发布时间】:2020-09-09 04:15:18
【问题描述】:

我在 Windows 7 上使用 Selenium 2.42.2。我启动了一个集线器并输入:

java -jar selenium-server-standalone.jar -role node -nodeConfig nodeconfig.json -Dwebdriver.chrome.driver=
D:\selenium\chromedriver.exe

在我的终端中。以下是执行的 JUnit 4 测试用例:

public void setUp() throws Exception {
    driver = new ChromeDriver();
    baseUrl = "http://127.0.0.1:8443/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}

@Test
public void testWebdriver() throws Exception {
    driver.get(baseUrl + "/customizedfolder/main.html");
    for (int second = 0;; second++) {
        if (second >= 60) fail("timeout");
        try { if (isElementPresent(By.xpath("//div[@id='f21TemFolder']/div/span"))) break; } catch (Exception e) {}
        Thread.sleep(1000);
    }

    driver.findElement(By.xpath("//div[@id='f21TemFolder']/div/span")).click();
}

nodeconfig.json文件的内容是:

{
    "capabilities": [
        {
            "browserName": "*firefox",
            "seleniumProtocol": "Selenium",
            "platform": "LINUX",
            "maxInstances": 3
        },
        {
            "browserName": "*chrome",
            "seleniumProtocol": "WebDriver",
            "platform": "LINUX",
            "maxInstances": 3
        }
    ],
    "configuration": {
        "nodeTimeout": 120,
        "port": 5555,
        "hubPort": 4444,
        "hubHost": "localhost",
        "nodePolling": 2000,
        "registerCycle": 10000,
        "register": true,
        "cleanUpCycle": 2000,
        "timeout": 30000,
        "maxSession": 1
    }
}

但是,它无法打开chrome,错误是:

驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置......

我还在系统属性中设置了webdriver.chrome.driver,但这没有帮助。

  • Chrome 版本:36.0.1985.143 m
  • Chrome 驱动版本:2.10

如何在 Selenium 网格 2 中使用 Chrome?

【问题讨论】:

    标签: google-chrome selenium-webdriver


    【解决方案1】:

    好吧,我认为-Dwebdriver arg 中的问题,你应该写-Dwebdriver.chrome.driver 像这样……

    java -jar selenium-server-standalone.jar -role node -nodeConfig nodeconfig.json  -Dwebdriver.chrome.driver=D:\selenium\chromedriver.exe
    

    【讨论】:

    • 对不起,打错了,我按你说的输入了-Dwebdriver,但是失败了。
    • 好吧,那真的很奇怪。因为下一行在我这边工作(我用它来启动我的节点) java -jar selenium-server-standalone-2.42.2.jar -role node -hub localhost:4444/grid/register -Dwebdriver.chrome.driver="C:\Tools \SelenuimDrivers\Chrome\chromedriver.exe”-浏览器“browserName=chrome,version=latest,maxInstances=5,seleniumProtocol=WebDriver”。你能提供更多信息吗?这个测试失败了吗?或者你没有启动节点?
    • 节点启动成功,只是测试失败。一开始,我想在 Ubuntu 12.04 中使用 chrome(集线器和节点在 Ubuntu 中),失败并出现同样的错误,然后我尝试在 Windows 7 中使用 chrome,也失败了(节点在 Windows 7 中,集线器在Ubuntu。)
    • 不确定(一些想法=)),但似乎问题在这里driver = new ChromeDriver(); 可能:1. chromedriver.exe 的路径尚未添加到 windows7 中的 %path% 2. 或者,运行测试使用 RemoveWebDriver 而不是 var driver = new RemoteWebDriver(new URL("path to site"), DesiredCapabilities.Chrome());。让我们试试这个方法,看看会发生什么=)
    • 你是对的!在我更改为driver = new RemoteWebDriver()并在json配置文件中将浏览器名称从*chrome更改为chrome后,它可以打开chrome浏览器。谢谢。 `driver = new ChromeDriver()' 来自 selenium IDE。
    猜你喜欢
    • 1970-01-01
    • 2020-07-01
    • 2021-11-14
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多