我正在尝试在Chrome上运行我的测试用例并且我已经在属性文件中复制了路径,但是控制台仍然会抛出恼人的语句,例如: 错误:chromedriver可执行文件的路径必须由webdriver.chrome.driver系统属性设置;有关更多信息,请参阅http://code.google.com/p/selenium/wiki/ChromeDriver。最新版本可从http://code.google.com/p/chromium/downloads/list下载 FAILED CONFIGURATION:@BeforeTest startWebSession 显示java.lang.NullPointerException
答案 0 :(得分:3)
我发现有一件事是Chrome驱动程序无法从Eclipse中启动。它必须从命令提示符运行。至少在Windows 7 64位上。
尝试从Eclipse中运行它会产生以下异常:
线程“ main ”中的异常java.lang.IllegalStateException:webdriver.chrome.driver系统属性定义的chromedriver可执行文件不存在:C:\ Windows \ System32 \ chromedriver.exe
此问题仅适用于Chrome。 IE和FireFox在Eclipse中运行良好。
答案 1 :(得分:2)
从http://code.google.com/p/chromedriver/downloads/list
下载Chrome驱动程序以下列方式初始化您的驱动程序对象 -
System.setProperty("webdriver.chrome.driver","C:\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
通过这样做,chrome驱动程序可以正常工作。
答案 2 :(得分:0)
这是我如何初始化ChromeDriver:
public RegulationUI() throws Exception{
ChromeDriverService service = ChromeDriverService.createDefaultService();
File file = new File(RegulationUI.class.getResource("/chromedriver.exe").toURI());
System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, file.getAbsolutePath());
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
driver = new ChromeDriver(service,options);
}
BTW我的测试类名为RegulationUI
试试这个,它适用于我,而且,我知道这是“多计算机”解决方案 - 我们的项目是颠覆的,这样每个人都可以运行它,即使我们有不同的设置在磁盘上的“工作文件夹” “对于IDE来说是
答案 3 :(得分:0)
Please download chromedriver.exe for Google chrome browser
please download IEdriver.exe for Internet explore.
请将这些文件保存在Windows的根文件夹中以简化操作。让我们考虑一下c:\(C Driver)上安装的操作系统在C-Drive上创建文件夹名Selenium并保留这些二进制(.exe)文件。比如c:\ selenium
in your Testcase/testScript Write as
//For Chrome Browser:
Webdriver driver = new ChromeDriver();
java.io.File file = new File("c:\\selenium\\chromedriver.exe");
System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());
答案 4 :(得分:0)
如果您正在使用maven,请尝试在您的pom中使用以下内容:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>RELEASE</version>
</dependency>
并在设置中将其用作chrome:
ChromeDriverManager.getInstance().setup();
driver = new ChromeDriver();