代码“ org.openqa.selenium.remote.DriverCommand.NEW_SESSION”上的错误

时间:2019-06-10 13:58:17

标签: java eclipse selenium-webdriver selenium-chromedriver

我的Java程序出现以下错误:-

var foo = function () {
    let foo = this;
    foo.boo = function () {
        console.log("boo");
    }
}

var bar = new foo().boo();
var baz = new foo().boo();

尝试添加最新的jar文件,如下面的快照所示,但无法解决。有什么帮助吗?

enter image description here

包装自动化;

Exception in thread "main" java.lang.NoSuchMethodError: org.openqa.selenium.remote.DriverCommand.NEW_SESSION(Lorg/openqa/selenium/Capabilities;)Lorg/openqa/selenium/remote/CommandPayload;
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:211)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:147)
    at automation.flyYatra.mainTest(flyYatra.java:42)
    at automation.flyYatra.main(flyYatra.java:243)

尝试了各种版本的jar文件,但无法解决

1 个答案:

答案 0 :(得分:0)

您的various versions of jar files是一个称为JAR Hell的问题,因为在CLASSPATH中有多个具有相同类的库,并且类加载的顺序根据底层操作系统和安装位置的不同而不同。图书馆。

确保具有相同版本的Selenium Java库,更具体地说,最新的是3.141.59

因此,我建议使用Apache Maven之类的依赖项管理解决方案,您应该使用这个小的pom.xml file

<?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>

将其保存在磁盘上的某个位置并执行mvn dependency:copy-dependencies命令-它会将一堆“好的” .jars下载到“目标/依赖项”文件夹中。

您还可以使用this repository文章中提到的Selenium with Java作为测试的基础