我正在尝试让我的Selenium Grid在Chrome驱动程序上运行。
首先,我启动了集线器和节点:java -jar selenium-server-standalone-2.45.0.jar -role集线器java
-jar selenium-server-standalone-2.45.0.jar -role节点-hub http:// localhost:
4444 /网格/注册
而不是我启动测试:
public class ChromeDriverTest {
private WebDriver driver = null;
String BaseURL,NodeURL;
@Before
public void before() throws Exception{
BaseURL="http://www.google.com";
NodeURL="http://localhost:4444/wd/hub";
File file = new File("C:\\Users\\pushkaryova\\Desktop\\Nexus\\driver\\chromedriver.exe");
System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());
DesiredCapabilities capa =DesiredCapabilities.chrome();
capa.setBrowserName("chrome");
capa.setPlatform(Platform.ANY);
driver=new RemoteWebDriver(new URL(NodeURL),capa);
}
@Test
public void GoogleSearch() throws Exception {
driver.get("http://www.google.com");
WebElement searchBox = driver.findElement(By.xpath("//div[3]/div/input[1]"));
hightlight(searchBox);
driver.findElement(By.xpath("//div[3]/div/input[1]")).clear();
driver.findElement(By.xpath("//div[3]/div/input[1]")).sendKeys("Test");
driver.findElement(By.xpath("//button")).click();
}
public void hightlight(WebElement webElement) throws InterruptedException {
for (int i = 0; i < 2; i++) {
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript(
"arguments[0].setAttribute('style', arguments[1]);",
webElement, "color: red; border: 3px solid red;");
}
}
}
并得到一个错误:org.openqa.selenium.WebDriverException:驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置
我的代码有什么问题?
该driver
可执行文件需要在节点计算机上物理可用。您可以在启动时将路径设置为exenode
在命令中添加此行
-Dwebdriver.chrome.driver=./chromedriver.exe
我从json文件配置它,发现这有点容易
名称为DefaultNode.json的json文件
{
"capabilities":
[
{
"browserName": "firefox",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "chrome",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"platform": "WINDOWS",
"browserName": "internet explorer",
"maxInstances": 1,
"seleniumProtocol": "WebDriver"
}
],
"configuration":
{
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession": 5,
"port": 5555,
"host": ip,
"register": true,
"registerCycle": 5000,
"hubPort": 4444,
"hubHost": ip
}
}
使用json配置启动节点
java -jar selenium-server-standalone-2.45.0.jar -role webdriver -nodeConfig DefaultNode.json -Dwebdriver.ie.driver=.\IEDriverServer.exe
请注意, IEDriverServer.exe 与json
文件位于同一目录中。
我正试图让我的Selenium网格在Chrome驱动程序上运行。 起初我启动了hub和节点:java-jarselenium-server-standalone-2.45.0.jar-角色Hub java-jarselenium-server-standalone-2.45.0.jar-角色节点-Hubhttp://localhost:4444/grid/register 比我启动我的测试: }
获取以下错误: 任何帮助都是非常感谢的。提前致谢
我正在尝试Node.js selenium web驱动程序示例...
当我修改代码以使用RemoteWebDriver和ChromeDriver运行时,我得到了:异常:驱动程序可执行文件的路径必须由webdriver设置。铬。驱动系统属性; 代码: 该文件存在于我运行它的PC上。当我切换到ChromeDriver而不是Remote WebDriver时,它工作得很好。
我正在使用Selenium来自动化测试。我的应用程序只使用IE,它不适用于其他浏览器。 代码: 这是我得到的错误 驱动程序可执行文件的路径必须由webdriver.ie.driver系统属性设置;有关更多信息,请参阅https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver.最新版本可从以下网站下载:http://www.s