我想研究如何在两台计算机上同时运行相同的测试。 我已经完成了在此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