gpt4 book ai didi

java - 添加 pom.xml 后无法使用 IE 和 Chrome WebDrivers

转载 作者:行者123 更新时间:2023-11-29 03:15:46 29 4
gpt4 key购买 nike

由于对 Maven 的需求出现,我将 pom.xml 添加到项目并将现有项目转换为 Maven 项目。这是我的 IE WebDriver 启动堆栈跟踪。我为 Chrome 得到的类似。 FF 完美运行;这很奇怪,但 Safari 也能运行。

java.lang.IllegalStateException: The driver executable does not exist: C:\Users\yuliya.savytska\.m2\repository\org\seleniumhq\selenium\selenium-ie-driver\2.44.0\selenium-ie-driver-2.44.0
at com.google.common.base.Preconditions.checkState(Preconditions.java:197)
at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:117)

我的 pom.xml:`http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 org.sonatype.mavenbook.simple 网络驱动基础 jar 1.0-快照 网络驱动基础 http://maven.apache.org

<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>


<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.44.0</version>
</dependency>
</dependencies>

`

在代码中调用驱动程序:

private static WebDriver getDriver(){
if (driver == null) {
String browser = getBrowserType();

switch (browser) {
case "firefox":
driver = new FirefoxDriver();
driver.manage().window().maximize(); break;
case "chrome":
System.setProperty("webdriver.chrome.driver",
"C:\\Users\\yuliya.savytska\\.m2\\repository\\org\\seleniumhq\\selenium\\selenium-chrome-driver\\2.44.0\\selenium-chrome-driver-2.44.0");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("test-type");
chromeOptions.addArguments("start-maximized");
driver = new ChromeDriver(chromeOptions);
driver.manage().window().maximize(); break;
case "iexplorer":
System.setProperty("webdriver.ie.driver",
"C:\\Users\\yuliya.savytska\\.m2\\repository\\org\\seleniumhq\\selenium\\selenium-ie-driver\\2.44.0\\selenium-ie-driver-2.44.0");
driver = new InternetExplorerDriver(); break;
case "safari":
DesiredCapabilities dcap = DesiredCapabilities.safari();
dcap.setPlatform(Platform.MAC);
driver = new SafariDriver(dcap); break;

default: throw new RuntimeException();
}
}
return driver;
}

我的 M2_REPO 就在它的位置上,这些驱动程序就像我在代码中提到的位置上的 jar 一样。 (这种获得绝对路径的方式对我来说很臭,所以如果有关于那个的想法那将是完美的)

在我使用 ChromeDriver 和 IEDriver 作为 exe 文件并且没有使用 Maven 之前 - 一切正常。

知道我的 WebDrivers 和 Maven 有什么问题吗?

最佳答案

"webdriver.chrome.driver""webdriver.ie.driver" 是指您可以在

下载的独立应用程序

https://code.google.com/p/selenium/wiki/ChromeDriver

https://code.google.com/p/selenium/wiki/InternetExplorerDriver

Safari 和 Firefox 不需要这个,所以它们开箱即用。你可能还需要你的 chrome 二进制文件的路径,就像这样

chromeOptions.setBinary(new File("您的 CHRMOE 二进制文件的路径"));

关于java - 添加 pom.xml 后无法使用 IE 和 Chrome WebDrivers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26757506/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com