Ошибка памяти при выполнении тестов через testng - PullRequest
0 голосов
/ 17 сентября 2018

Я использую testng версии 6.9.10. У нас есть около 2000 тестов, разработанных с использованием селена 3.5.3, и мы выполняем 10 потоков параллельно.

Получаю следующую ошибку при выполнении:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project config: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test failed: There was an error in the forked process
[ERROR] java.lang.OutOfMemoryError: Java heap space
[ERROR] at java.util.Arrays.copyOf(Arrays.java:3332)
[ERROR] at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
[ERROR] at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448)
[ERROR] at java.lang.StringBuffer.append(StringBuffer.java:270)
[ERROR] at java.io.StringWriter.write(StringWriter.java:101)
[ERROR] at freemarker.core.DollarVariable.accept(DollarVariable.java:41)
[ERROR] at freemarker.core.Environment.visit(Environment.java:324)
[ERROR] at freemarker.core.MixedContent.accept(MixedContent.java:54)
[ERROR] at freemarker.core.Environment.visitByHiddingParent(Environment.java:345)
[ERROR] at freemarker.core.IteratorBlock$IterationContext.executeNestedBlockInner(IteratorBlock.java:268)
[ERROR] at freemarker.core.IteratorBlock$IterationContext.executeNestedBlock(IteratorBlock.java:220)
[ERROR] at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:194)
[ERROR] at freemarker.core.Environment.visitIteratorBlock(Environment.java:572)
[ERROR] at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:78)
[ERROR] at freemarker.core.IteratorBlock.accept(IteratorBlock.java:64)
[ERROR] at freemarker.core.Environment.visit(Environment.java:324)
[ERROR] at freemarker.core.MixedContent.accept(MixedContent.java:54)
[ERROR] at freemarker.core.Environment.visitByHiddingParent(Environment.java:345)
[ERROR] at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)
[ERROR] at freemarker.core.Environment.visit(Environment.java:324)
[ERROR] at freemarker.core.MixedContent.accept(MixedContent.java:54)
[ERROR] at freemarker.core.Environment.visit(Environment.java:324)
[ERROR] at freemarker.core.Environment.include(Environment.java:2072)
[ERROR] at freemarker.core.Include.accept(Include.java:167)
[ERROR] at freemarker.core.Environment.visitByHiddingParent(Environment.java:345)
[ERROR] at freemarker.core.IfBlock.accept(IfBlock.java:48)
[ERROR] at freemarker.core.Environment.visit(Environment.java:324)
[ERROR] at freemarker.core.MixedContent.accept(MixedContent.java:54)
[ERROR] at freemarker.core.Environment.visitByHiddingParent(Environment.java:345)
[ERROR] at freemarker.core.IteratorBlock$IterationContext.executeNestedBlockInner(IteratorBlock.java:268)
[ERROR] at freemarker.core.IteratorBlock$IterationContext.executeNestedBlock(IteratorBlock.java:220)
[ERROR] at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:194)
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

Может кто-нибудь PLZ помочь здесь

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Спасибо. Кажется, есть проблема и с testng. Я обновился до версии 7.0.0-бета, и она работала нормально.

https://github.com/citrusframework/citrus/issues/337

0 голосов
/ 18 сентября 2018

Это распространенная проблема, когда вы выполняете большое количество тестов.Проблема возникает, когда TestNG пытается написать отчет в конце, он выходит из памяти и вы теряете все результаты теста.Одним из возможных решений является увеличение памяти в зависимости от конфигурации системы, например, с 3 ГБ ОЗУ вы можете указать следующие параметры:

-Xmx1250m -XX:MaxPermSize=128m -Xms256m

где,

-Xms<size>        set initial Java heap size
-Xmx<size>        set maximum Java heap size

Другой альтернативный вариант - отключите репортеров по умолчанию и используйте пользовательские отчеты, как в json report в qaf .Мы используем TestNG с каркасом QAF , и мы столкнулись с той же проблемой 5 лет назад при запуске регрессионного пакета.QAF предоставил функцию оперативной отчетности , в которой мы не обнаружили проблемы с памятью, даже выполняя большое количество (3000+) тестовых примеров в наборе регрессии.Дополнительная функция заключается в том, что нам не нужно ждать завершения всего пакета, и мы можем видеть подробный отчет о тестовом примере сразу после его выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...