Java 硒-don';我认不出有詹金斯的司机
当我执行jenkins作业时,selenium测试总是会因此错误而失败Java 硒-don';我认不出有詹金斯的司机,java,selenium,jenkins,Java,Selenium,Jenkins,当我执行jenkins作业时,selenium测试总是会因此错误而失败 java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property 或者当我设置驱动程序路径时 not found /var/jenkins/.../C:/selenium/drivers/chromedrive 我有以下环境 1个在li
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property
或者当我设置驱动程序路径时
not found /var/jenkins/.../C:/selenium/drivers/chromedrive
我有以下环境
- 1个在linux上运行的jenkins服务器和selenium hub
- 1个在Windows上运行的selenium节点
java -Dwebdriver.chrome.driver=C:/selenium/drivers/chromedriver.exe -jar selenium-server-standalone-2.53.1.jar -port 5556 -role node -hub http://192.168.15.99:4444/grid/register -browser "browserName=chrome, version=ANY, maxInstances=10, platform=WINDOWS"
Selenium hub和node可以看到彼此
为什么我不能执行测试?看起来selenium试图在集线器上执行,而不是在节点上执行。我如何配置不询问Chrome驱动程序位置
我的测试
public class TesteSelenium{
private static final String APLICATION_CONTEXT = "/SYSA";
WebDriver driver;
HomePage home;
@Before
public void setUp() {
Properties p = PropertiesUtil.getProperties();
File file = new File(p.getProperty("webdriver.path"));
System.setProperty(p.getProperty("webdriver.type"), file.getAbsolutePath());
driver = new ChromeDriver();
driver.get(p.getProperty("host.address")+APLICATION_CONTEXT);
LoginPage login = PageFactory.initElements(driver, LoginPage.class);
login.setUsuarioTextField(p.getProperty("usuario.selenium.login"));
login.setSenhaPasswordField(p.getProperty("usuario.selenium.password"));
home = login.submit();
}
@After
public void finish() {
driver.close();
}
我使用属性文件
host.address = http://jbossserver:8080
usuario.selenium.login = USER_SELENIUM
usuario.selenium.password = 123123
webdriver.path = C:/selenium/drivers/chromedriver
webdriver.type = webdriver.chrome.driver
您的参数应该在命令行中的引号内。像这样:
java -Dwebdriver.chrome.driver="C:/selenium/drivers/chromedriver.exe"
您的参数应该在命令行中的引号内。像这样:
java -Dwebdriver.chrome.driver="C:/selenium/drivers/chromedriver.exe"
远程运行Selenium测试的代码略有不同
public void setUp()引发畸形的异常{
Properties p=PropertiesUtil.getProperties();
//File File=新文件(p.getProperty(“webdriver.path”);
//System.setProperty(p.getProperty(“webdriver.type”)、file.getAbsolutePath();
DesiredCapabilities=DesiredCapabilities.chrome();
//驱动程序=新的ChromeDriver();
WebDriver=新的RemoteWebDriver(新的java.net.URL(“http://seleniumHubIp:4444/wd/hub(能力),;
driver.get(p.getProperty(“host.address”)+应用程序上下文);
LoginPage login=PageFactory.initElements(驱动程序,LoginPage.class);
setUsuarioTextField(p.getProperty(“usuario.selenium.login”);
login.setSenhaPasswordField(p.getProperty(“usuario.selenium.password”);
home=login.submit();
}
我的错误是编写在远程selenium节点上运行本地测试的代码 远程运行Selenium测试的代码略有不同
public void setUp()引发畸形的异常{
Properties p=PropertiesUtil.getProperties();
//File File=新文件(p.getProperty(“webdriver.path”);
//System.setProperty(p.getProperty(“webdriver.type”)、file.getAbsolutePath();
DesiredCapabilities=DesiredCapabilities.chrome();
//驱动程序=新的ChromeDriver();
WebDriver=新的RemoteWebDriver(新的java.net.URL(“http://seleniumHubIp:4444/wd/hub(能力),;
driver.get(p.getProperty(“host.address”)+应用程序上下文);
LoginPage login=PageFactory.initElements(驱动程序,LoginPage.class);
setUsuarioTextField(p.getProperty(“usuario.selenium.login”);
login.setSenhaPasswordField(p.getProperty(“usuario.selenium.password”);
home=login.submit();
}
我的错误是编写在远程selenium节点上运行本地测试的代码