簡體   English   中英

如何在以Windows 10計算機作為中心機和MAC計算機作為節點的Selenium Grid上的Safari上運行測試用例

[英]How to run test cases on Safari on Selenium Grid with Windows 10 machine as hub and MAC machine as node

細節:

Windows版本: 10、64位

MAC: macOS Sierra 10.12.5

Safari: 10.1.1

硒: 3.4.0

使用以下命令在Windows計算機上啟動集線器並成功啟動

java -jar selenium-server-standalone-3.4.0.jar -role hub -port 4444

使用以下命令在MAC計算機上啟動節點並成功啟動

java -jar selenium-server-standalone-3.4.0.jar -role node -nodeConfig mac.json

mac.json的內容是

{
  "capabilities":
  [
    {
      "browserName": "safari",
      "maxInstances": 5,
      "seleniumProtocol": "WebDriver"
    },
    {
      "browserName": "firefox",
      "maxInstances": 5,
      "seleniumProtocol": "WebDriver"
    },
    {
      "browserName": "chrome",
      "maxInstances": 5,
      "seleniumProtocol": "WebDriver"
    },
    {
      "browserName": "internet explorer",
      "maxInstances": 1,
      "seleniumProtocol": "WebDriver"
    }
  ],
  "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
  "maxSession": 5,
  "port": 5555,
  "register": true,
  "registerCycle": 5000,
  "hub": "http://192.101.3.23:4444",
  "nodeStatusCheckTimeout": 5000,
  "nodePolling": 5000,
  "role": "node",
  "unregisterIfStillDownAfter": 60000,
  "downPollingLimit": 2,
  "debug": false,
  "servlets" : [],
  "withoutServlets": [],
  "custom": {}
}

Selenium Java代碼調用瀏覽器是

capability = DesiredCapabilities.safari();
capability.setBrowserName("safari");
capability.setPlatform(Platform.MAC);
SafariOptions options = new SafariOptions();
options.setUseCleanSession(true);
capability=DesiredCapabilities.safari();
capability.setCapability(SafariOptions.CAPABILITY, options);
capability.setPlatform(Platform.ANY);

driver=new RemoteWebDriver(new URL(http://192.101.1.23:5555),capability);

在執行Safari瀏覽器的以下行時

driver=new RemoteWebDriver(new URL(http://192.101.1.23:5555),capability);

引發異常

java.lang.reflect.InvocationTargetException

我無法繼續進行,我沒有錯過任何事情,是什么讓我無法繼續進行,請任何人可以幫助。

更新了Selenium Java代碼,如下所示,並且工作正常

capability = DesiredCapabilities.safari();
driver=new RemoteWebDriver(new URL(http://192.101.1.23:5555),capability);

如下更新了Java代碼以調用瀏覽器,並且工作正常

capability = DesiredCapabilities.safari();
driver=new RemoteWebDriver(new URL(http://192.101.1.23:5555),capability);

您是否在測試中直接調用Mac-Node?

我沒有對其進行測試,但是如果我理解正確,則必須致電集線器。 然后,集線器管理對節點的調度。

因此,您的通話應類似於:

driver=new RemoteWebDriver(new URL(http://192.101.3.23:4444/wd/hub),capability);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM