TestNG 执行在测试之间停止
TestNG execution halts between tests
我正在重构大量 selenium 测试并尝试在 testNG 中执行它们。问题是无论结果如何,每次测试后测试执行都会停止(最终超时)。当我刷新浏览器时,测试继续。我不确定是什么问题。
我的测试是这样的
@Test(groups = {" Portal - Page Login Tests"})
public void testPageLoginWithInvalidPwd() throws Exception{
Assert.assertEquals( Login(GetWebDriver(...);
}
@Test(groups = {" Portal - Page Login Tests"})
public void testPageLoginWithValidPws() throws Exception{
Assert.assertEquals( Login(...);
}
这是我的 xml 文件
<suite name="test-single">
<parameter name="Url" value="https:test.com" />
<parameter name="Browser" value="firefox" />
<test verbose="1" name="test">
<classes>
<class name="test.PageloginPage">
<methods>
<include name="testPageLoginWithInvalidPwd"></include>
<include name="testPageLoginWithValidPws"></include>
</methods>
</class>
</classes>
提前致谢。
堆栈跟踪:
失败:testPageLoginWithValidPws
org.openqa.selenium.TimeoutException: 超时
(Session 信息:chrome=64.0.3282.119)
(Driver 信息:chromedriver=2.35.528161(5b82f2d2aae0ca24b877009200ced9065a772e73),平台=Windows NT 6.1.7601 SP1 x86_64)(警告:服务器没有不提供任何堆栈跟踪信息)
命令持续时间或超时:0 毫秒
构建信息:版本:'3.8.1',修订:'6e95a6684b',时间:'2017-12-01T19:05:32.194Z'
系统信息:主机:'100206-PHY',ip:'10.1.208.242',os.name:'Windows 7',os.arch:'amd64',os.version:' 6.1', java.version: '9.0.4'
Driver 信息:org.openqa.selenium.chrome.ChromeDriver
能力 {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriver版本: 2.35.528161 (5b82f2d2aae0ca ..., userDataDir: C:\Users\KKULAN~1\AppData\L...}, cssSelectorsEnabled: true, databaseEnabled: false, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled : true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour:, unhandledPromptBehavior:, 版本: 64.0.3282.119, webStorageEnabled: true}
Session 编号:0bb70fb5edb140fd90d7351ece634135
在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
在 java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
在 java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
在 org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
在 org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
在 org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
在 org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
在 org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:164)
在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
在 org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:325)
在 k3g.edwebpageclasses.ELogin.loginToPortal(ELogin.java:269)
在 k3g.webpagefunctionality.Power.Login(Power.java:197)
在 k3g.ed.LoginPage.testPageLoginWithValidPws(LoginPage.java:152)
在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.base/java.lang.reflect.Method.invoke(Method.java:564)
在 org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
在 org.testng.internal.Invoker.invokeMethod(Invoker.java:571)
在 org.testng.internal.Invoker.invokeTestMethod(Invoker.java:707)
在 org.testng.internal.Invoker.invokeTestMethods(Invoker.java:979)
在 org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
在 org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
在 org.testng.TestRunner.privateRun(TestRunner.java:648)
在 org.testng.TestRunner.run(TestRunner.java:505)
在 org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
在 org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
在 org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
在 org.testng.SuiteRunner.run(SuiteRunner.java:364)
在 org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
在 org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
在 org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)
在 org.testng.TestNG.runSuitesLocally(TestNG.java:1116)
在 org.testng.TestNG.runSuites(TestNG.java:1028)
在 org.testng.TestNG.run(TestNG.java:996)
在 org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
在 org.testng.remote.RemoteTestNG.initAndRun(远程TestNG.java:251)
在 org.testng.remote.RemoteTestNG.main(远程TestNG.java:77)
我将浏览器和驱动程序版本降级为 62 和 2.34,但未发现问题
我正在重构大量 selenium 测试并尝试在 testNG 中执行它们。问题是无论结果如何,每次测试后测试执行都会停止(最终超时)。当我刷新浏览器时,测试继续。我不确定是什么问题。
我的测试是这样的
@Test(groups = {" Portal - Page Login Tests"})
public void testPageLoginWithInvalidPwd() throws Exception{
Assert.assertEquals( Login(GetWebDriver(...);
}
@Test(groups = {" Portal - Page Login Tests"})
public void testPageLoginWithValidPws() throws Exception{
Assert.assertEquals( Login(...);
}
这是我的 xml 文件
<suite name="test-single">
<parameter name="Url" value="https:test.com" />
<parameter name="Browser" value="firefox" />
<test verbose="1" name="test">
<classes>
<class name="test.PageloginPage">
<methods>
<include name="testPageLoginWithInvalidPwd"></include>
<include name="testPageLoginWithValidPws"></include>
</methods>
</class>
</classes>
提前致谢。
堆栈跟踪: 失败:testPageLoginWithValidPws org.openqa.selenium.TimeoutException: 超时 (Session 信息:chrome=64.0.3282.119) (Driver 信息:chromedriver=2.35.528161(5b82f2d2aae0ca24b877009200ced9065a772e73),平台=Windows NT 6.1.7601 SP1 x86_64)(警告:服务器没有不提供任何堆栈跟踪信息) 命令持续时间或超时:0 毫秒 构建信息:版本:'3.8.1',修订:'6e95a6684b',时间:'2017-12-01T19:05:32.194Z' 系统信息:主机:'100206-PHY',ip:'10.1.208.242',os.name:'Windows 7',os.arch:'amd64',os.version:' 6.1', java.version: '9.0.4' Driver 信息:org.openqa.selenium.chrome.ChromeDriver 能力 {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriver版本: 2.35.528161 (5b82f2d2aae0ca ..., userDataDir: C:\Users\KKULAN~1\AppData\L...}, cssSelectorsEnabled: true, databaseEnabled: false, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled : true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour:, unhandledPromptBehavior:, 版本: 64.0.3282.119, webStorageEnabled: true} Session 编号:0bb70fb5edb140fd90d7351ece634135 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488) 在 org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214) 在 org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166) 在 org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40) 在 org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80) 在 org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44) 在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:164) 在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601) 在 org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:325) 在 k3g.edwebpageclasses.ELogin.loginToPortal(ELogin.java:269) 在 k3g.webpagefunctionality.Power.Login(Power.java:197) 在 k3g.ed.LoginPage.testPageLoginWithValidPws(LoginPage.java:152) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.base/java.lang.reflect.Method.invoke(Method.java:564) 在 org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124) 在 org.testng.internal.Invoker.invokeMethod(Invoker.java:571) 在 org.testng.internal.Invoker.invokeTestMethod(Invoker.java:707) 在 org.testng.internal.Invoker.invokeTestMethods(Invoker.java:979) 在 org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) 在 org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) 在 org.testng.TestRunner.privateRun(TestRunner.java:648) 在 org.testng.TestRunner.run(TestRunner.java:505) 在 org.testng.SuiteRunner.runTest(SuiteRunner.java:455) 在 org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450) 在 org.testng.SuiteRunner.privateRun(SuiteRunner.java:415) 在 org.testng.SuiteRunner.run(SuiteRunner.java:364) 在 org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 在 org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84) 在 org.testng.TestNG.runSuitesSequentially(TestNG.java:1187) 在 org.testng.TestNG.runSuitesLocally(TestNG.java:1116) 在 org.testng.TestNG.runSuites(TestNG.java:1028) 在 org.testng.TestNG.run(TestNG.java:996) 在 org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114) 在 org.testng.remote.RemoteTestNG.initAndRun(远程TestNG.java:251) 在 org.testng.remote.RemoteTestNG.main(远程TestNG.java:77)
我将浏览器和驱动程序版本降级为 62 和 2.34,但未发现问题