Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.NoSuchMethodError:com.google.common.base.premissions.checkState(ZLjava/lang/String;)和Selenium、gradle和ChromeDriver_Java_Selenium_Gradle_Selenium Webdriver_Selenium Chromedriver - Fatal编程技术网

java.lang.NoSuchMethodError:com.google.common.base.premissions.checkState(ZLjava/lang/String;)和Selenium、gradle和ChromeDriver

java.lang.NoSuchMethodError:com.google.common.base.premissions.checkState(ZLjava/lang/String;)和Selenium、gradle和ChromeDriver,java,selenium,gradle,selenium-webdriver,selenium-chromedriver,Java,Selenium,Gradle,Selenium Webdriver,Selenium Chromedriver,我正在尝试将Selenium api用于Gradle。这是我的build.gradle依赖项部分: dependencies { compile 'com.google.api-client:google-api-client:1.23.0' compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0' compile 'com.google.apis:google-api-services-shee

我正在尝试将Selenium api用于Gradle。这是我的build.gradle依赖项部分:

dependencies {
    compile 'com.google.api-client:google-api-client:1.23.0'
    compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
    compile 'com.google.apis:google-api-services-sheets:v4-rev506-1.23.0'
    compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version:        '2.9.0'
    compile group: 'org.seleniumhq.selenium', name: 'selenium-chrome-driver', version: '2.9.0' }
我的selenium-Java代码:

System.setProperty("webdriver.chrome.driver", "C:\\Program Files(x86)\\Google\\Chrome\\Application\\chrome.exe");
WebDriver driver = new ChromeDriver();
代码运行良好,我可以打开Chrome浏览器。 然而,在build.gradle中,我使用的是selenium和chromedriver的2.9.0版本。如果我尝试使用2.9.0之后的任何版本,它会在WebDriver=new ChromeDriver()中给出以下错误;方法:

线程“main”java.lang.NoSuchMethodError中的异常:com.google.common.base.premissions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V 位于org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:124) 访问org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32) 位于org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137) 位于org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:339) 位于org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88) 位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:123) 位于Quickstart.main(Quickstart.java:130) 我试着寻找gradle+Maven+selenium支持的版本。找不到任何好的信息。有什么想法吗

此错误消息

Exception in thread "main" java.lang.NoSuchMethodError:
com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
…表示Java客户端无法找到
ChromeDriver()

问题与解决方案 根据您共享的Selenium-Java代码,
System.setProperty()
行用于设置ChromeDriver二进制路径而不是chrome二进制路径。为此,您必须从下载ChromeDriver二进制文件并将其放入您的系统中,并通过
system.setProperty()
行提及ChromeDriver的绝对路径。因此,你必须改变:

System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");
WebDriver driver = new ChromeDriver();
致:

此错误消息

Exception in thread "main" java.lang.NoSuchMethodError:
com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
…表示Java客户端无法找到
ChromeDriver()

问题与解决方案 根据您共享的Selenium-Java代码,
System.setProperty()
行用于设置ChromeDriver二进制路径而不是chrome二进制路径。为此,您必须从下载ChromeDriver二进制文件并将其放入您的系统中,并通过
system.setProperty()
行提及ChromeDriver的绝对路径。因此,你必须改变:

System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");
WebDriver driver = new ChromeDriver();
致:


我有完全相同的问题(不过我使用的是Maven)

我注意到问题是,在
org.seleniumhq.selenium
旁边使用
com.google.api客户端
,或
com.google.api:google api服务表
会导致错误

问题是这两个依赖关系都依赖于不同的
com.google.guava:guava
工件

为了解决这个错误,您应该显式地依赖单个
com.google.guava:guava
工件。 因此,继续在您的
build.gradle
中添加以下内容:


compile'com.google.guava:guava:27.0.1-jre'

我有完全相同的问题(不过我使用的是Maven)

我注意到问题是,在
org.seleniumhq.selenium
旁边使用
com.google.api客户端
,或
com.google.api:google api服务表
会导致错误

问题是这两个依赖关系都依赖于不同的
com.google.guava:guava
工件

为了解决这个错误,您应该显式地依赖单个
com.google.guava:guava
工件。 因此,继续在您的
build.gradle
中添加以下内容:


编译'com.google.guava:guava:27.0.1-jre'

尝试将您的番石榴更新为

<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>27.1-jre</version>
</dependency>

番石榴
番石榴
27.1-jre

它将解决您的问题。

尝试将您的番石榴更新为

<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>27.1-jre</version>
</dependency>

番石榴
番石榴
27.1-jre

它会解决你的问题。

我只是想在这里发帖子,以防其他人像我一样从谷歌找到这个。无论出于什么原因,我都需要使用
sudo
运行。我在使用npm
selenium standalone
软件包和运行时遇到问题:

/node_modules/selenium-standalone/bin/selenium-standalone start
这将表明这个错误。是什么让它和sudo一起运行的

sudo /node_modules/selenium-standalone/bin/selenium-standalone start

我不认为我以前需要这样做,但突然间,这是它现在唯一的工作方式。

我只是想在这里发布,以防其他人像我一样从谷歌访问它。无论出于什么原因,我都需要使用
sudo
运行。我在使用npm
selenium standalone
软件包和运行时遇到问题:

/node_modules/selenium-standalone/bin/selenium-standalone start
这将表明这个错误。是什么让它和sudo一起运行的

sudo /node_modules/selenium-standalone/bin/selenium-standalone start

我不认为我以前需要这样做,但突然间,这是它现在唯一的工作方式。

我也遇到了同样的问题,并进行了依赖性检查,发现存在冲突。对我有效的解决方案是排除相互冲突的依赖项


您的项目可能与我的项目具有不同的依赖关系。因此,在我的项目中列出具体的冲突可能没有帮助

我也遇到了同样的问题,并运行了依赖项检查,发现存在冲突。对我有效的解决方案是排除相互冲突的依赖项


您的项目可能与我的项目具有不同的依赖关系。因此,在我的项目中列出具体的冲突可能没有帮助

在pom.xml中复制并粘贴以下依赖项,然后执行maven构建:

 <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>

      <!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>7.1.0</version>
    <scope>test</scope>
</dependency>

    <!-- https://mvnrepository.com/artifact/io.rest-assured/rest-assured -->
<dependency>
    <groupId>io.rest-assured</groupId>
    <artifactId>rest-assured</artifactId>
    <version>3.0.0</version>
    <scope>test</scope>
</dependency>

    <!-- https://mvnrepository.com/artifact/io.rest-assured/json-path -->
<dependency>
    <groupId>io.rest-assured</groupId>
    <artifactId>json-path</artifactId>
    <version>3.0.0</version>
</dependency>

    <!-- https://mvnrepository.com/artifact/io.rest-assured/json-schema-validator -->
<dependency>
    <groupId>io.rest-assured</groupId>
    <artifactId>json-schema-validator</artifactId>
    <version>3.0.0</version>
</dependency>

<!-- https://mvnrepository.com/artifact/io.rest-assured/xml-path -->
<dependency>
    <groupId>io.rest-assured</groupId>
    <artifactId>xml-path</artifactId>
    <version>3.0.0</version>
</dependency>

    <!-- https://mvnrepository.com/artifact/org.hamcrest/java-hamcrest -->
<dependency>
    <groupId>org.hamcrest</groupId>
    <artifactId>java-hamcrest</artifactId>
    <version>2.0.0.0</version>
    <scope>test</scope>
</dependency>


    <!-- cucumber dependency begins -->


    <!-- https://mvnrepository.com/artifact/net.masterthought/cucumber-reporting -->
    <dependency>
    <groupId>net.masterthought</groupId>
    <artifactId>cucumber-reporting</artifactId>
    <version>4.7.0</version>
    </dependency>

    <!-- starts here -->
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>1.2.5</version>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>1.2.5</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-jvm</artifactId>
        <version>1.2.5</version>
        <type>pom</type>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>1.2.5</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-jvm-deps</artifactId>
        <version>1.0.5</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-html -->
<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-html</artifactId>
    <version>0.2.3</version>
</dependency>

<!-- https://mvnrepository.com/artifact/info.cukes/gherkin -->
<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>gherkin</artifactId>
    <version>2.12.2</version>
    <scope>provided</scope>
</dependency>


<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-testng -->
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-testng</artifactId>
    <version>5.4.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.theoryinpractise/cucumber-testng-factory -->
<dependency>
    <groupId>com.theoryinpractise</groupId>
    <artifactId>cucumber-testng-factory</artifactId>
    <version>1.0.1</version>
</dependency>
<!--   https://stackoverflow.com/questions/49021707/java-lang-nosuchmethoderror-com-google-common-base-preconditions-checkstatezlj?rq=1  -->
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>27.1-jre</version>
</dependency>

  </dependencies>

朱尼特
朱尼特
4.12
测试
org.testng
testng
7.1.0
测试
放心吧
放心
3.0.0
测试
放心吧
json路径
3.0.