我想研究如何在兩臺計算機上同時運行相同的測試。 我已經完成了在此tutorial中解釋的所有內容。 我有電腦,我在那裏設置樞紐:設置Selenium Grid2的問題
java -jar selenium-server-standalone-2.37.0.jar -role hub
我有筆記本電腦,哪裏是節點:
java -jar selenium-server-standalone-2.37.0.jar -role webdriver -hub http://192.168.0.50:4444/grid/register -port 5566
因此,這裏是我的代碼:
public class Driver
{
IWebDriver _driver = new ChromeDriver(@"C:\Program Files (x86)\ChromeDriver\");
public string BaseUrl, NodeUrl;
[SetUp]
public void Setup()
{
BaseUrl = "http://google.com/";
NodeUrl = "http://192.168.0.66:5566/wd/hub";
DesiredCapabilities capability = DesiredCapabilities.Chrome();
capability.SetCapability(CapabilityType.BrowserName, "chrome");
capability.SetCapability(CapabilityType.Platform, "VISTA");
_driver = new RemoteWebDriver(new Uri(NodeUrl), capability);
}
[TearDown]
public void Teardown()
{
_driver.Quit();
}
[Test]
public void SimpleTest()
{
_driver.Navigate().GoToUrl(BaseUrl);
Assert.AreEqual("Google", _driver.Title);
}
}
當我運行測試在VS2012中,它給了我以下錯誤:
SetUp : System.InvalidOperationException : The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver . The latest version can be downloaded from http://code.google.com/p/chromedriver/downloads/list
我搜索了。人們建議在Windows中從控制面板添加環境變量。我做到了。
webdriver.chrome.driver C:\Program Files (x86)\ChromeDriver\chromedriver.exe
這並沒有幫助我。同樣的錯誤。 我搜索了更多。接下來的建議是在配置集線器時設置這個變量。像這樣:
java - jar selenium-server-standalone-2.37.0.jar webdriver.chrome.driver="C:\Program Files(x86)\ChromeDriver\chromedriver.exe" -role hub
這也沒有幫助。 我該怎麼辦?
謝謝你的回覆。我做了同樣的錯誤。只有當我註冊集線器或節點時,我是否應該使用-Dwebdriver.chrome.driver =「C:\ Program Files文件(x86)\ ChromeDriver \ chromedriver.exe」? – belek
是的,謝謝。有用。我在註冊節點時添加-webdriver.chrome.driver =「C:\ Program Files(x86)\ ChromeDriver \ chromedriver.exe」。 – belek
我還有一個問題。如何在我的節點上使用此測試運行mulltiple瀏覽器?我添加--maxSession 10,但它不起作用。只有1個瀏覽器在節點上做我的測試。 – belek