selenium Grid2和C#如何设置和运行

时间:2011-08-01 16:24:17

标签: c# selenium

http://code.google.com/p/selenium/wiki/Grid2

我用

运行selenium hub
java -jar ..\DLL\Selenium\selenium-server-2.1.0\selenium-server-standalone-2.1.0.jar -role hub

但后来我不知道如何运行3个selenium浏览器。

我尝试

DesiredCapabilities capability = DesiredCapabilities.Firefox();
capability.SetCapability(CapabilityType.Platform, "WINDOWS");
capability.SetCapability(CapabilityType.BrowserName, "firefox");
capability.SetCapability(CapabilityType.Version, "5.0");

IWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), capability);

ISelenium selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://localhost/");
selenium.Start();

但在驱动程序对象上我收到此错误:找不到:{platform = WINDOWS,browserName = firefox,version = 5.0}

关于如何在paralell中运行3个selenium浏览器的文档非常糟糕。

THX

1 个答案:

答案 0 :(得分:3)

启动集线器后需要启动RC节点。您可以使用命令:

java -jar selenium-server-jar -role rc (OR -role wd - depending upon whether you need webdriver or remotecontrol) -hub http://localhost:4444/grid/register

这将启动RC节点,默认运行5个firefox浏览器,5个googlechrome和1个IE浏览器。

您可以检查网格控制台以确保您的RC已注册。网格控制台URL将为http://localhost:4444/grid/console。将鼠标悬停在每个浏览器图标的顶部,找到您应该在代码中使用的浏览器名称,并查找浏览器的其他属性。

如果您尝试在Grid 2.0中运行现有的selenium 1测试,则不需要功能匹配器。你只需要

ISelenium selenium = new DefaultSelenium("localhost", 4444, "firefox", "http://localhost/");
selenium.Start();

请注意,浏览器名称中没有*。

如果您打算使用webdriver在网格中运行测试,那么您需要修改代码,如:

DesiredCapabilities capability = DesiredCapabilities.Firefox();
capability.SetCapability(CapabilityType.Platform, "WINDOWS");
capability.SetCapability(CapabilityType.BrowserName, "firefox");
capability.SetCapability(CapabilityType.Version, "5.0");

IWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), capability);

ISelenium selenium = new WebDriverBackedSelenium(driver,"baseURL");
selenium.Start();

可以找到有关如何启动节点的文档here,可以找到如何使用remotewebdriver here