簡體   English   中英

使用Chrome驅動程序java.lang.NoSuchMethodError運行Selenium時出錯:

[英]Error when running Selenium with Chrome Driver java.lang.NoSuchMethodError:

首先。 抱歉,如果這里太含糊。 我是編碼新手!

嘗試運行使用Java使用Selenium創建的第一個測試時,我在這里遇到問題。 來自InteliJ的錯誤消息如下:

"C:\Program Files\Java\jdk-9.0.4\bin\java" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.3\lib\idea_rt.jar=52755:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.3\lib\idea_rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.3\plugins\junit\lib\junit-rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.3\plugins\junit\lib\junit5-rt.jar;L:\Business Solutions\Sitecore\BDD\MDA Online Framework\target\test-classes;C:\Users\mthomas\.m2\repository\info\cukes\cucumber-java\1.2.5\cucumber-java-1.2.5.jar;C:\Users\mthomas\.m2\repository\info\cukes\cucumber-core\1.2.5\cucumber-core-1.2.5.jar;C:\Users\mthomas\.m2\repository\info\cukes\cucumber-html\0.2.3\cucumber-html-0.2.3.jar;C:\Users\mthomas\.m2\repository\info\cukes\cucumber-jvm-deps\1.0.5\cucumber-jvm-deps-1.0.5.jar;C:\Users\mthomas\.m2\repository\info\cukes\gherkin\2.12.2\gherkin-2.12.2.jar;C:\Users\mthomas\.m2\repository\info\cukes\cucumber-junit\1.1.3\cucumber-junit-1.1.3.jar;C:\Users\mthomas\.m2\repository\junit\junit\4.12\junit-4.12.jar;C:\Users\mthomas\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\mthomas\.m2\repository\org\seleniumhq\selenium\selenium-java\3.5.2\selenium-java-3.5.2.jar;C:\Users\mthomas\.m2\repository\org\seleniumhq\selenium\selenium-api\3.5.2\selenium-api-3.5.2.jar;C:\Users\mthomas\.m2\repository\org\seleniumhq\selenium\selenium-chrome-driver\3.5.2\selenium-chrome-driver-3.5.2.jar;C:\Users\mthomas\.m2\repository\org\seleniumhq\selenium\selenium-edge-driver\3.5.2\selenium-edge-driver-3.5.2.jar;C:\Users\mthomas\.m2\repository\org\seleniumhq\selenium\selenium-ie-driver\3.5.2\selenium-ie-driver-3.5.2.jar;C:\Users\mthomas\.m2\repository\org\seleniumhq\selenium\selenium-opera-driver\3.5.2\selenium-opera-driver-3.5.2.jar;C:\Users\mthomas\.m2\repository\org\seleniumhq\selenium\selenium-safari-driver\3.5.2\selenium-safari-driver-3.5.2.jar;C:\Users\mthomas\.m2\repository\org\seleniumhq\selenium\selenium-support\3.5.2\selenium-support-3.5.2.jar;C:\Users\mthomas\.m2\repository\cglib\cglib-nodep\3.2.4\cglib-nodep-3.2.4.jar;C:\Users\mthomas\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar;C:\Users\mthomas\.m2\repository\org\apache\commons\commons-lang3\3.5\commons-lang3-3.5.jar;C:\Users\mthomas\.m2\repository\commons-codec\commons-codec\1.10\commons-codec-1.10.jar;C:\Users\mthomas\.m2\repository\commons-io\commons-io\2.5\commons-io-2.5.jar;C:\Users\mthomas\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\mthomas\.m2\repository\org\w3c\css\sac\1.3\sac-1.3.jar;C:\Users\mthomas\.m2\repository\net\sourceforge\cssparser\cssparser\0.9.23\cssparser-0.9.23.jar;C:\Users\mthomas\.m2\repository\com\google\code\gson\gson\2.8.0\gson-2.8.0.jar;C:\Users\mthomas\.m2\repository\net\sourceforge\htmlunit\htmlunit\2.27\htmlunit-2.27.jar;C:\Users\mthomas\.m2\repository\net\sourceforge\htmlunit\htmlunit-core-js\2.27\htmlunit-core-js-2.27.jar;C:\Users\mthomas\.m2\repository\net\sourceforge\htmlunit\neko-htmlunit\2.27\neko-htmlunit-2.27.jar;C:\Users\mthomas\.m2\repository\org\apache\httpcomponents\httpclient\4.5.3\httpclient-4.5.3.jar;C:\Users\mthomas\.m2\repository\org\apache\httpcomponents\httpcore\4.4.6\httpcore-4.4.6.jar;C:\Users\mthomas\.m2\repository\org\apache\httpcomponents\httpmime\4.5.3\httpmime-4.5.3.jar;C:\Users\mthomas\.m2\repository\org\eclipse\jetty\jetty-client\9.4.5.v20170502\jetty-client-9.4.5.v20170502.jar;C:\Users\mthomas\.m2\repository\org\eclipse\jetty\jetty-http\9.4.5.v20170502\jetty-http-9.4.5.v20170502.jar;C:\Users\mthomas\.m2\repository\org\eclipse\jetty\jetty-io\9.4.5.v20170502\jetty-io-9.4.5.v20170502.jar;C:\Users\mthomas\.m2\repository\org\eclipse\jetty\jetty-util\9.4.5.v20170502\jetty-util-9.4.5.v20170502.jar;C:\Users\mthomas\.m2\repository\net\java\dev\jna\jna\4.1.0\jna-4.1.0.jar;C:\Users\mthomas\.m2\repository\net\java\dev\jna\jna-platform\4.1.0\jna-platform-4.1.0.jar;C:\Users\mthomas\.m2\repository\com\codeborne\phantomjsdriver\1.4.0\phantomjsdriver-1.4.0.jar;C:\Users\mthomas\.m2\repository\org\seleniumhq\selenium\htmlunit-driver\2.27\htmlunit-driver-2.27.jar;C:\Users\mthomas\.m2\repository\javax\servlet\javax.servlet-api\3.1.0\javax.servlet-api-3.1.0.jar;C:\Users\mthomas\.m2\repository\org\eclipse\jetty\websocket\websocket-api\9.4.5.v20170502\websocket-api-9.4.5.v20170502.jar;C:\Users\mthomas\.m2\repository\org\eclipse\jetty\websocket\websocket-client\9.4.5.v20170502\websocket-client-9.4.5.v20170502.jar;C:\Users\mthomas\.m2\repository\org\eclipse\jetty\websocket\websocket-common\9.4.5.v20170502\websocket-common-9.4.5.v20170502.jar;C:\Users\mthomas\.m2\repository\xalan\serializer\2.7.2\serializer-2.7.2.jar;C:\Users\mthomas\.m2\repository\xalan\xalan\2.7.2\xalan-2.7.2.jar;C:\Users\mthomas\.m2\repository\xerces\xercesImpl\2.11.0\xercesImpl-2.11.0.jar;C:\Users\mthomas\.m2\repository\xml-apis\xml-apis\1.4.01\xml-apis-1.4.01.jar;C:\Users\mthomas\.m2\repository\org\seleniumhq\selenium\selenium-server\3.5.2\selenium-server-3.5.2.jar;C:\Users\mthomas\.m2\repository\com\beust\jcommander\1.48\jcommander-1.48.jar;C:\Users\mthomas\.m2\repository\net\jcip\jcip-annotations\1.0\jcip-annotations-1.0.jar;C:\Users\mthomas\.m2\repository\org\seleniumhq\selenium\jetty-repacked\9.4.5.v20170502\jetty-repacked-9.4.5.v20170502.jar;C:\Users\mthomas\.m2\repository\org\yaml\snakeyaml\1.15\snakeyaml-1.15.jar;C:\Users\mthomas\.m2\repository\org\seleniumhq\selenium\selenium-firefox-driver\3.5.2\selenium-firefox-driver-3.5.2.jar;C:\Users\mthomas\.m2\repository\org\seleniumhq\selenium\selenium-remote-driver\3.5.2\selenium-remote-driver-3.5.2.jar;C:\Users\mthomas\.m2\repository\com\google\guava\guava\21.0\guava-21.0.jar" com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 Tests.LogintoMOS

java.lang.NoSuchMethodError: com.google.common.util.concurrent.SimpleTimeLimiter.create(Ljava/util/concurrent/ExecutorService;)Lcom/google/common/util/concurrent/SimpleTimeLimiter;

    at org.openqa.selenium.net.UrlChecker.<init>(UrlChecker.java:64)
    at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:187)
    at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:178)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:78)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:641)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:254)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:236)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:137)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:178)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:167)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:124)
    at Tests.LogintoMOS.setup(LogintoMOS.java:23)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)


Process finished with exit code -1

我查看了一下,發現一些有關Selenium和Guava版本不同步的提及。我檢查了我的Maven POM.xml,發現那里沒有任何錯誤。 我將pom內容放在下面。 我還下載了未修復的最新Web驅動程序。

<?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>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <cucumber.version>1.2.4</cucumber.version>
        <selenium.version>2.48.2</selenium.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java8</artifactId>
            <version>${cucumber.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>${cucumber.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-server</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.4</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>latest</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>


</project>

我試圖運行的Java類如下:

import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

import java.util.concurrent.TimeUnit;


public class LogintoMOS {

    WebDriver driver;

    MOSLoginPage objMOSLoginPage;

    @Before

    public void setup(){
        System.setProperty("webdriver.chrome.driver","L:\\Business Solutions\\Sitecore\\BDD\\Selenium\\chromedriver.exe");

        driver = new ChromeDriver();

  //      driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        driver.get("https://mos-uat.mdanational.com.au/Account/Login");
    }

    @Test

原來這是我的Maven POM格式的問題。 我通過命令行運行“ mvn clean install-U”,它顯示了POM文件格式的一些錯誤,這意味着我的某些依賴項沒有被使用。 因此,我修復了這些問題,然后一切都開始起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM