我在运行测试时遇到以下问题。但是,只有当我使用 @DataProvider 和调用计数大于 1 的 @Test 时才会发生这种情况。我不确定下面的链接是否是同一个问题,因为如果我阅读正确,这个问题已经在更高版本中得到修复Eclipse TESTNG 插件 6.9.13.X 的版本(使用这个 6.9.14.201610261028)。
这是遇到相同问题的简单代码:
@Test(dataProvider = "data", timeOut = 6000, threadPoolSize = 10, invocationCount = 5)
public final void x(String a,
String b, String c, String d,
String e, String f, String g){
System.out.println("D"
+ " - "
+ java.lang.Thread.currentThread().getId()
+ " - "
+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")
.format(new Date()));
}
这是一个示例输出:
线程 - 1274 - 2016-10-28 08:47:23.889 已通过:x("00336293615"、"02/24/2016"、"03/10/2016"、"3"、"0"、"3"、 “11.57”)线程 - 1275 - 2016-10-28 08:47:23.897 线程 - 1273 - 2016-10-28 08:47:23.898 java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(未知来源) at java.util.ArrayList$Itr.next(Unknown Source) at org.testng.reporters.TextReporter.logResults(TextReporter.java:80) at org.testng.reporters.TextReporter.onFinish(TextReporter.java:32) at org.testng.TestRunner.fireEvent(TestRunner.java:1239) at org.testng.TestRunner.afterRun(TestRunner.java:1030) at org.testng.TestRunner.run(TestRunner.java:636) at org.testng.SuiteRunner .runTest(SuiteRunner.java:366) 在 org.testng.SuiteRunner。runSequentially(SuiteRunner.java:361) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:319) at org.testng.SuiteRunner.run(SuiteRunner.java:268) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java :52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1244) at org.testng.TestNG.runSuitesLocally(TestNG.java:1169) at org .testng.TestNG.run(TestNG.java:1064) 在 org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132) 在 org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236) 在 org. testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1244) at org.testng.TestNG.runSuitesLocally(TestNG .java:1169) 在 org.testng.TestNG.run(TestNG.java:1064) 在 org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132) 在 org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG. java:236) 在 org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1244) at org.testng.TestNG.runSuitesLocally(TestNG .java:1169) 在 org.testng.TestNG.run(TestNG.java:1064) 在 org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132) 在 org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG. java:236) 在 org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)在 org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81) 在 org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236) 运行(AbstractRemoteTestNG.java:132)在 org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81) 在 org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236) 运行(AbstractRemoteTestNG.java:132)
有时它还会抛出以下异常:
在 org.testng.remote.strprotocol.JsonMessageSender.sendMessage(JsonMessageSender.java:37) 在 org.testng 的 java.io.Writer.(Unknown Source) 的 java.lang.NullPointerException .remote.strprotocol.MessageHub.sendMessage(MessageHub.java:43) 在 org.testng.remote.strprotocol.RemoteTestListener1.onTestSuccess(RemoteTestListener1.java:88) 在 org.testng.internal.Invoker.runTestListeners(Invoker.java:1695 ) 在 org.testng.internal.Invoker.invokeTestMethod(Invoker.java: 820) 在 org.testng.internal 的 org.testng.internal.TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:75)。TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:14) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run (未知来源)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源)在 java.lang.Thread.run(未知来源)java.lang 的 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)。 IllegalStateException:尝试在 org.testng.remote.strprotocol.JsonMessageSender.sendMessage(JsonMessageSender.java:31) 在 org.testng.remote.strprotocol.MessageHub.sendMessage(MessageHub.java:43) 的关闭发送方上发送消息org.testng.remote.strprotocol.RemoteTestListener1.onTestStart(RemoteTestListener1.java:49) 在 org.testng。internal.Invoker.runTestListeners(Invoker.java:1700) at org.testng.internal.Invoker.runTestListeners(Invoker.java:1675) at org.testng.internal.Invoker.invokeMethod(Invoker.java:619) at org.testng .internal.Invoker.invokeTestMethod(Invoker.java:820) 在 org.testng.internal.TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:75) 在 org.testng.internal.TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:14) 在 java. util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 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(未知来源)
如果你们需要更多信息,请告诉我。
谢谢!!!