Почему Maven не работает с исключением SurefireExecutionException:> Невозможно установить параметр параллельно значению
Вопрос
Привет, я работаю над этим руководством, используя Windows XP и последние сборки.
http://binil.wordpress.com/2006/12/08/automated-smoke-tests-with-selenium-cargo-testng-and-maven/
Подскажите пожалуйста, что это за теги?
<parallel>true</parallel>
<threadCount>10</threadCount>
Когда я собираю эти теги, я получаю ошибку:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
org.apache.maven.surefire.booter.SurefireExecutionException:
Cannot set option parallel with value
true; nested exception is
java.lang.reflect.InvocationTargetException:
null; nested exception is
org.apache.maven.surefire.util.NestedRuntimeException:
Cannot set option parallel with value
true; nested exception is
java.lang.reflect.InvocationTargetException:
null
org.apache.maven.surefire.util.NestedRuntimeException:
Cannot set option parallel with value
true; nested exception is
java.lang.reflect.InvocationTargetException:
null
java.lang.reflect.InvocationTargetException
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.maven.surefire.testng.conf.AbstractDirectConfigurator$Setter.invoke(AbstractDirectConfigurator.java:117)
at
org.apache.maven.surefire.testng.conf.AbstractDirectConfigurator.configure(AbstractDirectConfigurator.java:63)
at
org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:71)
at
org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:92)
at
org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)
Caused by:
java.lang.NullPointerException at
org.testng.TestNG.setParallel(TestNG.java:347)
... 15 more [INFO]
------------------------------------------------------------------------
[ERROR] BUILD FAILURE [INFO]
------------------------------------------------------------------------
Решение
Из верный плагин документация:
параллельный (Только для TestNG) Когда вы используете атрибут параллельности, TestNG попытается запустить все ваши тестовые методы в отдельных потоках, за исключением методов, которые зависят друг от друга, которые будут запускаться в одном потоке, чтобы соблюдать порядок их выполнения.
число потоков (Только для TestNG) Атрибут thread-count позволяет указать, сколько потоков должно быть выделено для этого выполнения.Имеет смысл использовать только в сочетании с параллельным.
На сайте есть раздел о параллельном запуске тестов. Страница TestNG документации плагина.Для этого ваш плагин Surefire должен быть настроен следующим образом:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<parallel>methods</parallel>
<threadCount>10</threadCount>
</configuration>
</plugin>
Другие советы
true
недопустимое значение для опции parallel
;пытаться methods
(согласно документам)
Это также может произойти, если вы используете старую версию TestNG.
Попробуйте обновить вашу зависимость до TestNG, например:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.11</version>
<classifier>jdk15</classifier>
<scope>test</scope>
</dependency>
ПС:Многие люди обычно используют версию 5.1.
Ваше здоровье
С.Али Токменhttp://ali.tokmen.com/