【发布时间】:2016-07-05 21:40:36
【问题描述】:
当我执行 jenkins 作业时,硒测试总是失败并出现此错误
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
我有以下环境
在 linux 上运行的 1 个 jenkins 服务器和 selenium hub
1 个在 Windows 上运行的 selenium 节点。
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 可以互相看到。
为什么我不能执行测试?看起来硒试图在集线器上执行,而不是在节点上。如何配置为不询问 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
【问题讨论】: