Jenkins突然退出测试

huangapple go评论105阅读模式
英文:

Jenkins quits tests suddenly

问题

以下是翻译的内容:

我正在使用Java Maven从Jenkins执行TestNg测试,一切似乎都正常,但Jenkins会随机停止执行测试并提示:

  1. [ERROR] 会话ID为空。在调用quit()后继续使用WebDriver
  2. 构建信息:版本:'4.0.0-alpha-6',修订版本:'5f43a29cfc'
  3. 系统信息:主机:'******'IP'172.**.**.**'os.name'Windows 10'os.arch'amd64'os.version'10.0'java.version'11.0.8'
  4. 驱动程序信息:driver.versionRemoteWebDriver
  5. [INFO]
  6. [INFO] 结果:
  7. [INFO]
  8. [INFO] 运行的测试:0,失败:0,错误:0,跳过:0
  9. [INFO]
  10. [ERROR] 存在测试失败。
  11. 驱动程序信息:driver.versionRemoteWebDriver
  12. at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:733)
  13. ...
  14. at java.base/java.lang.Thread.run(Thread.java:834)
  15. [JENKINS] 正在记录测试结果
  16. [Checks API] 找不到合适的检查发布者。
  17. [INFO] ------------------------------------------------------------------------
  18. [INFO] 构建成功
  19. [INFO] ------------------------------------------------------------------------
  20. [INFO] 总时间:45:28 分钟
  21. [INFO] 完成时间:2020-09-30T17:33:07+02:00
  22. [INFO] ------------------------------------------------------------------------
  23. 当我在我的笔记本电脑上运行测试时,这种情况不会发生(Jenkins位于Windows虚拟机上)。
  24. 是什么原因导致了这个问题呢?
  25. <details>
  26. <summary>英文:</summary>
  27. I am executing TestNg tests with Java Maven from Jenkins and everything seems to be okay but Jenkins stops executing the tests randomly and prompts:
  28. [ERROR] Session ID is null. Using WebDriver after calling quit()?
  29. Build info: version: &#39;4.0.0-alpha-6&#39;, revision: &#39;5f43a29cfc&#39;
  30. System info: host: &#39;******&#39;, ip: &#39;172.**.**.**&#39;, os.name: &#39;Windows 10&#39;, os.arch: &#39;amd64&#39;, os.version: &#39;10.0&#39;, java.version: &#39;11.0.8&#39;
  31. Driver info: driver.version: RemoteWebDriver
  32. [INFO]
  33. [INFO] Results:
  34. [INFO]
  35. [INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
  36. [INFO]
  37. [ERROR] There are test failures.
  38. Driver info: driver.version: RemoteWebDriver
  39. at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:733)
  40. at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:305)
  41. at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:265)
  42. at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1314)
  43. at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1159)
  44. at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:932)
  45. at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
  46. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
  47. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
  48. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
  49. at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
  50. at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
  51. at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
  52. at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
  53. at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
  54. at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
  55. at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
  56. at org.jvnet.hudson.maven3.launcher.Maven35Launcher.main(Maven35Launcher.java:130)
  57. at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  58. at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  59. at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  60. at java.base/java.lang.reflect.Method.invoke(Method.java:566)
  61. at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
  62. at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
  63. at jenkins.maven3.agent.Maven35Main.launch(Maven35Main.java:178)
  64. at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  65. at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  66. at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  67. at java.base/java.lang.reflect.Method.invoke(Method.java:566)
  68. at hudson.maven.Maven3Builder.call(Maven3Builder.java:139)
  69. at hudson.maven.Maven3Builder.call(Maven3Builder.java:70)
  70. at hudson.remoting.UserRequest.perform(UserRequest.java:211)
  71. at hudson.remoting.UserRequest.perform(UserRequest.java:54)
  72. at hudson.remoting.Request$2.run(Request.java:369)
  73. at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
  74. at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
  75. at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
  76. at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
  77. at java.base/java.lang.Thread.run(Thread.java:834)
  78. [JENKINS] Recording test results
  79. [Checks API] No suitable checks publisher found.
  80. [INFO] ------------------------------------------------------------------------
  81. [INFO] BUILD SUCCESS
  82. [INFO] ------------------------------------------------------------------------
  83. [INFO] Total time: 45:28 min
  84. [INFO] Finished at: 2020-09-30T17:33:07+02:00
  85. [INFO] ------------------------------------------------------------------------
  86. This does not happen when i run the tests in my laptop (jenkins is on a windows vm).
  87. What could cause this problem?
  88. </details>
  89. # 答案1
  90. **得分**: 0
  91. ```xml
  92. 我的可靠配置:
  93. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  94. <modelVersion>4.0.0</modelVersion>
  95. <groupId>myProject</groupId>
  96. <artifactId>myProject</artifactId>
  97. <version>0.0.1-SNAPSHOT</version>
  98. <properties>
  99. <maven.compiler.source>7</maven.compiler.source>
  100. <maven.compiler.target>7</maven.compiler.target>
  101. </properties>
  102. <build>
  103. <plugins>
  104. <plugin>
  105. <groupId>org.apache.maven.plugins</groupId>
  106. <artifactId>maven-surefire-plugin</artifactId>
  107. <version>3.0.0-M5</version>
  108. <configuration>
  109. <suiteXmlFiles>
  110. <suiteXmlFile>testng.xml</suiteXmlFile>
  111. </suiteXmlFiles>
  112. </configuration>
  113. </plugin>
  114. </plugins>
  115. </build>
  116. <dependencies>
  117. <dependency>
  118. <groupId>anotherJavaProject</groupId>
  119. <artifactId>anotherJavaProject</artifactId>
  120. <version>0.0.1-SNAPSHOT</version>
  121. </dependency>
  122. </dependencies>
  123. </project>
  124. 这是 testng.xml 文件:
  125. <?xml version="1.0" encoding="UTF-8"?>
  126. <!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
  127. <suite name="Suite">
  128. <listeners>
  129. <listener class-name="listeners.TestNGListeners"></listener>
  130. </listeners>
  131. <test name="test1">
  132. <parameter name="package" value="registration" />
  133. <parameter name="iterationstorun" value="1,2" />
  134. <parameter name="resource" value="src/main/resources/excel/test1.xlsx" />
  135. <parameter name="browser" value="chrome" />
  136. <parameter name="exitonfail" value="no" />
  137. <parameter name="email" value="yes" />
  138. <classes>
  139. <class name="utils.Class" />
  140. </classes>
  141. </test>
  142. <test name="test2">
  143. <parameter name="package" value="registration" />
  144. <parameter name="iterationstorun" value='1,2' />
  145. <parameter name="resource" value="src/main/resources/excel/test2.xlsx" />
  146. <parameter name="browser" value="chrome" />
  147. <parameter name="exitonfail" value="no" />
  148. <classes>
  149. <class name="utils.Class" />
  150. </classes>
  151. </test>
  152. </suite>
英文:

My surefire:

  1. &lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd&quot;&gt;
  2. &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  3. &lt;groupId&gt;myProject&lt;/groupId&gt;
  4. &lt;artifactId&gt;myProject&lt;/artifactId&gt;
  5. &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
  6. &lt;properties&gt;
  7. &lt;maven.compiler.source&gt;7&lt;/maven.compiler.source&gt;
  8. &lt;maven.compiler.target&gt;7&lt;/maven.compiler.target&gt;
  9. &lt;/properties&gt;
  10. &lt;build&gt;
  11. &lt;plugins&gt;
  12. &lt;plugin&gt;
  13. &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
  14. &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
  15. &lt;version&gt;3.0.0-M5&lt;/version&gt;
  16. &lt;configuration&gt;
  17. &lt;suiteXmlFiles&gt;
  18. &lt;suiteXmlFile&gt;testng.xml&lt;/suiteXmlFile&gt;
  19. &lt;/suiteXmlFiles&gt;
  20. &lt;/configuration&gt;
  21. &lt;/plugin&gt;
  22. &lt;/plugins&gt;
  23. &lt;/build&gt;
  24. &lt;dependencies&gt;
  25. &lt;dependency&gt;
  26. &lt;groupId&gt;anotherJavaProject&lt;/groupId&gt;
  27. &lt;artifactId&gt;anotherJavaProject&lt;/artifactId&gt;
  28. &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
  29. &lt;/dependency&gt;
  30. &lt;/dependencies&gt;
  31. &lt;/project&gt;

and this is the testng.xml file:

  1. &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
  2. &lt;!DOCTYPE suite SYSTEM &quot;https://testng.org/testng-1.0.dtd&quot;&gt;
  3. &lt;suite name=&quot;Suite&quot;&gt;
  4. &lt;listeners&gt;
  5. &lt;listener class-name=&quot;listeners.TestNGListeners&quot;&gt;&lt;/listener&gt;
  6. &lt;/listeners&gt;
  7. &lt;test name=&quot;test1&quot;&gt;
  8. &lt;parameter name=&quot;package&quot; value=&quot;registration&quot; /&gt;
  9. &lt;parameter name=&quot;iterationstorun&quot; value=&quot;1,2&quot; /&gt;
  10. &lt;parameter name=&quot;resource&quot;
  11. value=&quot;src/main/resources/excel/test1.xlsx&quot; /&gt;
  12. &lt;parameter name=&quot;browser&quot; value=&quot;chrome&quot; /&gt;
  13. &lt;parameter name=&quot;exitonfail&quot; value=&quot;no&quot; /&gt;
  14. &lt;parameter name=&quot;email&quot; value=&quot;yes&quot; /&gt;
  15. &lt;classes&gt;
  16. &lt;class name=&quot;utils.Class&quot; /&gt;
  17. &lt;/classes&gt;
  18. &lt;/test&gt;
  19. &lt;test name=&quot;test2&quot;&gt;
  20. &lt;parameter name=&quot;package&quot; value=&quot;registration&quot; /&gt;
  21. &lt;parameter name=&quot;iterationstorun&quot; value=&#39;1,2&#39; /&gt;
  22. &lt;parameter name=&quot;resource&quot;
  23. value=&quot;src/main/resources/excel/test2.xlsx&quot; /&gt;
  24. &lt;parameter name=&quot;browser&quot; value=&quot;chrome&quot; /&gt;
  25. &lt;parameter name=&quot;exitonfail&quot; value=&quot;no&quot; /&gt;
  26. &lt;classes&gt;
  27. &lt;class name=&quot;utils.Class&quot; /&gt;
  28. &lt;/classes&gt;
  29. &lt;/test&gt;
  30. &lt;/suite&gt;

答案2

得分: 0

使用Eclipse运行测试时,我发现问题出现在extent报告中。
我认为问题可能是这个:https://github.com/anshooarora/extentreports-java/issues/497

Jenkins没有记录任何关于这个问题的信息:

  1. java.lang.OutOfMemoryError: Java heap space
  2. at java.base/java.lang.StringCoding$StringDecoder.decode(StringCoding.java:195)
  3. at java.base/java.lang.StringCoding.decode(StringCoding.java:331)
  4. at java.base/java.lang.String.<init>(String.java:592)
  5. at java.base/java.lang.String.<init>(String.java:614)
  6. at com.aventstack.extentreports.append.JsonDeserializer.deserialize(JsonDeserializer.java:27)
  7. at com.aventstack.extentreports.append.RawEntityConverter.convertAndApply(RawEntityConverter.java:27)
  8. at com.aventstack.extentreports.AbstractProcessor.convertRawEntities(AbstractProcessor.java:98)
  9. at com.aventstack.extentreports.ExtentReports.createDomainFromJsonArchive(ExtentReports.java:377)
  10. at com.aventstack.extentreports.ExtentReports.createDomainFromJsonArchive(ExtentReports.java:392)
  11. at utils.ExcelDataProvider.test(ExcelDataProvider.java:126)
  12. at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  13. at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  14. at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  15. at java.base/java.lang.reflect.Method.invoke(Method.java:566)
  16. at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:135)
  17. at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:598)
  18. at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
  19. at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
  20. at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:821)
  21. at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
  22. at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
  23. at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
  24. at org.testng.TestRunner$$Lambda$87/0x0000000100158840.accept(Unknown Source)
  25. at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
  26. at org.testng.TestRunner.privateRun(TestRunner.java:767)
  27. at org.testng.TestRunner.run(TestRunner.java:588)
  28. at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
  29. at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
  30. at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
  31. at org.testng.SuiteRunner.run(SuiteRunner.java:286)
  32. at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
  33. at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
英文:

Running the test with Eclipse I found out that the problem is in the extent report.
I think this is the issue: https://github.com/anshooarora/extentreports-java/issues/497

Jenkins wasn't logging anything of this:

  1. java.lang.OutOfMemoryError: Java heap space
  2. at java.base/java.lang.StringCoding$StringDecoder.decode(StringCoding.java:195)
  3. at java.base/java.lang.StringCoding.decode(StringCoding.java:331)
  4. at java.base/java.lang.String.&lt;init&gt;(String.java:592)
  5. at java.base/java.lang.String.&lt;init&gt;(String.java:614)
  6. at com.aventstack.extentreports.append.JsonDeserializer.deserialize(JsonDeserializer.java:27)
  7. at com.aventstack.extentreports.append.RawEntityConverter.convertAndApply(RawEntityConverter.java:27)
  8. at com.aventstack.extentreports.AbstractProcessor.convertRawEntities(AbstractProcessor.java:98)
  9. at com.aventstack.extentreports.ExtentReports.createDomainFromJsonArchive(ExtentReports.java:377)
  10. at com.aventstack.extentreports.ExtentReports.createDomainFromJsonArchive(ExtentReports.java:392)
  11. at utils.ExcelDataProvider.test(ExcelDataProvider.java:126)
  12. at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  13. at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  14. at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  15. at java.base/java.lang.reflect.Method.invoke(Method.java:566)
  16. at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:135)
  17. at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:598)
  18. at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
  19. at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
  20. at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:821)
  21. at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
  22. at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
  23. at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
  24. at org.testng.TestRunner$$Lambda$87/0x0000000100158840.accept(Unknown Source)
  25. at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
  26. at org.testng.TestRunner.privateRun(TestRunner.java:767)
  27. at org.testng.TestRunner.run(TestRunner.java:588)
  28. at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
  29. at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
  30. at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
  31. at org.testng.SuiteRunner.run(SuiteRunner.java:286)
  32. at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
  33. at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

huangapple
  • 本文由 发表于 2020年9月30日 23:41:49
  • 转载请务必保留本文链接:https://go.coder-hub.com/64141108.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定