我已经创建了一个maven项目,在测试包里面添加了一个testNg测试用例:
public class SampleTestNGTest {
private WebDriver driver;
@Test
public void testEasy() {
System.setProperty("webdriver.chrome.driver","D:\\NetBeansProjects\\webdrivertestng\\Drivers\\chromedriver.exe");
driver = new ChromeDriver();
driver.get("example.com");
String title = driver.getTitle();
Assert.assertTrue(title.contains("abcd"));
//System.out.println("checking new build");
}
@AfterTest
public void afterTest() {
driver.quit();
}
}
字符串
我在Netbeans中完美地执行了它,没有任何错误。但是当我从Jenkins执行(将Maven项目与Jenkins集成)时,它显示以下错误:
Running SampleTestNGTest
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@6d8acf
Starting ChromeDriver 2.14.313457 (3d645c400edf2e2c500566c9aa096063e707c9cf) on port 2916
Only local connections are allowed.
Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 64.572 sec <<< FAILURE!
testEasy(SampleTestNGTest) Time elapsed: 63.571 sec <<< FAILURE!
org.openqa.selenium.WebDriverException: unknown error: unable to discover open pages
(Driver info: chromedriver=2.14.313457 (3d645c400edf2e2c500566c9aa096063e707c9cf),platform=Windows NT 6.1 SP1 x86) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 61.32 seconds
Build info: version: '2.53.0', revision: '35ae25b1534ae328c771e0856c93e187490ca824', time: '2016-03-15 10:43:46'
System info: host: 'MVSL1742', ip: '172.16.17.42', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_05'
Driver info: org.openqa.selenium.chrome.ChromeDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:159)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:116)
at SampleTestNGTest.testEasy(SampleTestNGTest.java:24)
afterTest(SampleTestNGTest) Time elapsed: 63.573 sec <<< FAILURE!
java.lang.NullPointerException
at SampleTestNGTest.afterTest(SampleTestNGTest.java:37)
Results :
Failed tests: testEasy(SampleTestNGTest): unknown error: unable to discover open pages(..)
afterTest(SampleTestNGTest)
Tests run: 2, Failures: 2, Errors: 0, Skipped: 0
型
1.如果我使用FirefoxDriver,构建执行时不会出现错误。
1.如果我使用ChromeDriver,构建执行时出错。
pom .xml
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>2.53.0</version>
</dependency>
型
编辑:本机ChromeDriver版本为2.9
2条答案
按热度按时间fae0ux8s1#
看起来你正在使用非常旧的版本的ChromeDriver。
从您的错误日志中,它似乎是:2.14而最后一个版本是2.9!
请从here下载较新版本,然后重试。另外,请确保您没有使用最新的Chrome浏览器版本,因为Selenium支持总是滞后。例如,目前最新的ChromeDriver 2.9仅支持Chrome浏览器版本31-34。你可以看到它here。
avwztpqn2#
也许现在给予答案已经晚了,但我还是会把它记下来。
我在GEB和Groovy中使用Selenium。我也面临着同样的问题。我使用的是最新的Selenium和Chromedriver。我所做的是->
我卸载了我正在使用的Intelij。我删除了Inteliij使用的所有设置。我也删除了项目设置。
然后安装Intelij和恢复的设置从开始和之后,运行应用程序工作正常,并解决了错误.
有时仍然会导致这个问题,但重新启动大部分时间都有帮助。