无法为RemoteWebDriver设置Maven依赖项

时间:2019-05-13 11:14:45

标签: selenium selenium-webdriver

由于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();

1 个答案:

答案 0 :(得分:1)

  1. 仅拥有selenium-java就足够了,它将通过Maven transitive dependency mechanism来解析[selenium-remote-driver][2]

    enter image description here

  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();
        }
    }
    
  • 演示:

    enter image description here

更多信息: