我是Mac OSX的新手.从git下载了我的Robotframework(Selenium& Java)项目并尝试在本地执行代码,其中我收到了以下错误.
套件设置失败:
IllegalStateException:驱动程序不可执行:/ Users / roja / Documents / GitHub / testautomation / chromedrivers / chromedriver_osx
为了纠正这个问题,我按照下面的说法进行了操作,但它没有用.
- Upgraded the selenium-java and standalone version from 2.53.1 to 3.4.0.
- Driver path specified to Users/roja/automation
- Chromedriver upgraded from 2.31 to 2.33
- And the same driver version updated even in the path specified in the exception above.
另外我不确定为什么路径默认为/ Users / roja / Documents / GitHub / testautomation / chromedrivers / chromedriver_osx.我的git项目保存在usr / local / git / testautomation路径中,chromedriver也保存在同一个路径中.请澄清并为我提供解决方案.
下面为启动浏览器而编写的代码,
public void LaunchBrowser() throws InterruptedException {
System.setProperty("Webdriver.chrome.driver", "/Users/roja/Automation/chromedriver_osx");
driver = new ChromeDriver();
driver.manage().window().maximize();
}
解决方法:
错误IllegalStateException:驱动程序不可执行:/ Users / roja / Documents / GitHub / testautomation / chromedrivers / chromedriver_osx说明了一切.您必须完成以下4项更改:
>将Webdriver.chrome.driver更改为:
webdriver.chrome.driver
>更改/ Users / roja / Automation / chromedriver_osx,因为我们需要包含webdriver二进制文件的名称,即chromedriver作为值:
/Users/roja/Automation/chromedriver_osx/chromedriver
>更改driver = new ChromeDriver();如:
WebDriver driver = new ChromeDriver();
>删除不需要的抛出InterruptedException以保持代码简洁.