由于Maven依赖关系中的问题,我无法解决Eclipse中的RemoteWebDriver。我需要RemoteWebDriver来获取浏览器版本(出于报告目的)。我已经提到了以下Maven依赖项,但是我无法解析RemoteWebDriver。根据先前的The import org.openqa.selenium.remote.CapabilityType cannot be resolved帖子,我必须手动下载selenium-standalone-server。我不了解为什么Maven依赖不足?是否可以添加其他任何Maven依赖项来解决RemoteWebDriver
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-driver</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>3.141.59</version>
</dependency>
*************************
//Below is what I am trying to code
Capabilities cap = ((RemoteWebDriver) driver).getCapabilities();
String browserName = cap.getBrowserName().toLowerCase();
答案 0 :(得分:1)
仅拥有selenium-java
就足够了,它将通过Maven transitive dependency mechanism来解析[selenium-remote-driver][2]
鉴于您提到必须手动下载Selenium Standalone Server,因此也不需要此selenium-server
依赖项
所以它应该很简单:
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>selenium-java</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>
</project>
测试类:
import org.openqa.selenium.Capabilities;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import java.net.URL;
public class SeleniumTest {
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.chrome.driver", "c:/apps/webdriver/chromedriver.exe");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
RemoteWebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);
Capabilities cap = driver.getCapabilities();
String browserName = cap.getBrowserName().toLowerCase();
System.out.println(browserName);
driver.quit();
}
}
演示:
更多信息: