#report #karate
#Сообщить #каратэ
Вопрос:
Мы пытаемся использовать Karate / Gatling для тестов производительности, и очень часто запуск завершается успешно, но результаты не генерируются с этой ошибкой.
java.lang.IllegalStateException: cannot create children while terminating or terminated
at akka.actor.dungeon.Children.makeChild(Children.scala:270)
Я вижу журналы моделирования в profilessimulation-xxx/simulation.log
папке. Когда я пытаюсь сгенерировать отчет с помощью ./gatling.sh -ro /simulation.log
, я получаю эту ошибку.
>
>
exception in thread "main" java.lang.NumberFormatException: For input string: "profilessimulation"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
Вот часть моделирования.log >>
RUN ic.ecx.automation.testcases.profilesSimulation profilessimulation 1553697537449 null 2.0
USER test 1 START 1553697537633 1553697537633
USER test 2 START 1553697537893 1553697537893
USER test 3 START 1553697537994 1553697537994
USER test 4 START 1553697538095 1553697538095
USER test 5 START 1553697538204 1553697538204
USER test 6 START 1553697538304 1553697538304
USER test 7 START 1553697538403 1553697538403
USER test 8 START 1553697538503 1553697538503
USER test 9 START 1553697538603 1553697538603
USER test 10 START 1553697538703 1553697538703
REQUEST test 3 GET /ecx/v3/l2/buyer/connections?pageSize=20 1553697539459 1553697541977 OK
REQUEST test 6 GET /ecx/v3/l2/buyer/connections?pageSize=20 1553697539460 1553697541977 OK
REQUEST test 5 GET /ecx/v3/l2/buyer/connections?pageSize=20 1553697539460 1553697541977 OK
REQUEST test 4 GET /ecx/v3/l2/buyer/connections?pageSize=20 1553697539460 1553697541977 OK
REQUEST test 1 GET /ecx/v3/l2/buyer/connections?pageSize=20 1553697539459 1553697541977 OK
REQUEST test 7 GET /ecx/v3/l2/buyer/connections?pageSize=20 1553697539459 1553697544333 OK
REQUEST test 10 GET /ecx/v3/l2/buyer/connections?pageSize=20 1553697539460 1553697546110 OK
REQUEST test 2 GET /ecx/v3/l2/buyer/connections?pageSize=20 1553697539459 1553697546120 OK
REQUEST test 9 GET /ecx/v3/l2/buyer/connections?pageSize=20 1553697539460 1553697546130 OK
Есть идеи, как сгенерировать отчет из журнала моделирования?
Ответ №1:
Было бы здорово, если бы вы могли сузить эту проблему и помочь нам воспроизвести: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue
Просто предположение, но на случай, если отчет не успевает быть написанным, я полагаю, что у Gatling есть концепция after
перехватов: https://gatling.io/docs/current/general/simulation_structure/#hooks
Так что, возможно, вы могли бы добавить Thread.sleep в хук after, чтобы убедиться, что Gatling завершается корректно. Если вы используете значения для pauseFor()
, попробуйте не иметь значений или использовать Nil
.
Комментарии:
1. Спасибо за ответ. Мы пытались добавить режим ожидания и все еще видим проблему. Пожалуйста, обратите внимание, я пропустил одну информацию в предыдущем сообщении. Для одного пользователя при запуске в течение 1 минуты — ошибок нет, и отчеты генерируются нормально, для 10 пользователей при запуске в течение 1 минуты иногда возникают ошибки, но имитация. генерируется журнал, для 100 пользователей он всегда завершается с ошибкой, кроме симуляции. создается журнал. Это был ответ, на который я пытался выяснить, можем ли мы генерировать отчеты из simulation.log.
2. @kCliff вообще этого не делал, но звучит так, как если бы вы импортировали симуляцию. войдите в Excel как файл с разделителями табуляции или эквивалент — вы сможете определить (и, возможно, исправить), в каких строках содержатся неожиданные нечисловые данные и т.д. Может быть, стоит изучить, если это известная проблема gatling. интересно, получаете ли вы лучшие результаты на более мясистой машине
3. попробую эту — более мясную машину 🙂