【发布时间】:2018-08-07 14:28:05
【问题描述】:
我有一个 TestNG 测试,在 Eclipse 中作为 TestNG Suite 运行时按预期工作,但通过命令行运行时失败。我看到它无法启动浏览器但类路径设置正常工作的问题,因为我刚刚打印了没有 webdriver 代码的 helloworl。谁能帮助我这里缺少什么
package testngex;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.Select;
import org.testng.annotations.Test;
public class Login {
@Test
public void main() {
WebDriver driver=new ChromeDriver();
driver.manage().window().maximize();
//Implicit wait
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("url");
driver.findElement(By.id("Username")).sendKeys("xxx");
driver.findElement(By.id("Password")).sendKeys("xxx);
driver.findElement(By.id("imgbtnLogin")).click();
driver.quit();
}
}
XML 文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test thread-count="5" name="Test">
<classes>
<class name="testngex.Login"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
错误测试
testngex.Login#main
Exception 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:125) at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:35) at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:156) at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:346) at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:91) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123) at testngex.Login.main(Login.java:17) ... Removed 24 stack frames
【问题讨论】:
-
请发布错误以表示失败。谢谢
-
我看到它此时失败了 WebDriver driver=new ChromeDriver();
标签: java google-chrome selenium selenium-webdriver selenium-chromedriver