在命令行中运行Selenium Testng -Nosuchmethod异常



我正在CMD中运行testng testcase。我的批处理文件如下:

cd C:..eclipse-workspaceProject
set ProjectPath=C:..eclipse-workspaceProject
set classpath=%ProjectPath%bin;%ProjectPath%test-utiltestng*;%ProjectPath%test-utiltestrail-api*;%ProjectPath%test-utilselenium-java-3.5.0*;%ProjectPath%test-utiljson-simple*;
java org.testng.TestNG test1.xml
pause

可以通过testng读取XML文件,但是浏览器不会打开(我并行运行三个浏览器,而这三个浏览器都有相同的例外)。可以使用eclipseide进行测试柜。

代码的第二行抛出例外:

System.setProperty("webdriver.chrome.driver", userDir + prefixPathDriver + chromeDriverExe);
chromeDriver = new ChromeDriver();

EXE路径有效(我可以将System.out.print复制到Explorer并打开WebDriver.exe)

我看了输出文件并获取,

java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:124)
    at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32)
    at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137)
    at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:329)
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:124)
    at utilities.Utilities.getChromeDriver(Utilities.java:129)
    at testcases.EngagementPageSEOFooter.init(EngagementPageSEOFooter.java:56)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

最后,经过几天的研究,它得到了解决。Testng库包含两个相关的JAR文件,它们与硒包含的完整Guana库进行冲突。删除两个Guana在testng中关联的JAR文件解决了问题。

最新更新