Сбой генерации отчета

#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. попробую эту — более мясную машину 🙂