2015-09-09 5 views
0

Какова основная причина следующего журнала ошибок?JMeter - Журнал ошибок HashMap/LoopController

2015/09/09 10:47:42 ОШИБКА - jmeter.threads.JMeterThread: тест не удался! java.lang.StackOverflowError на java.util.LinkedHashMap $ EntryIterator. (LinkedHashMap.java:412) в java.util.LinkedHashMap.newEntryIterator (LinkedHashMap.java:419) в java.util.HashMap $ EntrySet.iterator (HashMap.java:1078) в java.util.Collections $ SynchronizedCollection.iterator (Collections.java:1632) на org.apache.jmeter.testelement.AbstractTestElement.recoverRunningVersion (AbstractTestElement.java:499) в орг .apache.jmeter.control.GenericController.reInitialize (GenericController.java:131) на org.apache.jmeter.control.GenericController.nextIsNull (GenericController.java:257) в org.apache.jmeter.control.GenericController.next (GenericController.java:175) на org.apache.jmeter.control.GenericController.nextIsAController (GenericController.java:229) на org.apache.jmeter.control .GenericController.next (GenericController.java:180) на org.apache.jmeter.control.GenericController.nextIsAController (GenericController.java:226) на org.apache.jmeter.control.GenericController.next (GenericController.java : 180) на org.apache.jmeter.control.GenericController.nextIsAController (GenericController.java:226) на org.apache.jmeter.control.GenericController.next (GenericController.java:180) на org.apache.jmeter.control.LoopController.next (LoopController.java:123) на org.apache.jmeter.control.LoopController.nextIsNull (LoopController.java:151)

{повторами для следующая ~ 900 строк}

Мой план тестирования выглядит следующим образом:

Testplan 
- Authentication Transaction Controller 
- Forever Loop 
    - Random Order Controller 
    - Simple Controller A 
     - Only Once Controller 
     - Parameterized Controller 
      - Module Controller (to "Simple Controller 1") 
     - For Each Loop (loops variables set by "BeanShell Post Processor 1") 
     - Module Controller (to "Simple Controller 2") 
    - Simple Controller B 
    - Simple Controller C 
Disabled Thread Group 
- Simple Controller 1 
    - Transaction Controller 
     - HTTP Request 
     - BeanShell Post Processor 1 (for JSON Extraction) 
- Simple Controller 2 
    - Transaction Controller 
     - HTTP Request 
     - BeanShell Post Processor 2 (for JSON Extraction) 

Примечание: Я обращения с пользовательскими переменными много.

ответ

0

Мое предположение заключается в том, что проблема живет где-то в ваших постпроцессорах Beanshell PostProcessors, например, есть код, который вызывает бесконечный цикл или что-то в этом роде. Если бы вы могли опубликовать ответ и код Beanshell PostProcessor, я мог бы быть более конкретным. На данный момент я могу рекомендовать следующее:

  1. Рассмотрим переход от Beanshell постпроцессоров для JSONPath Extractor если экстракцию JSON является их единственной обязанностью
  2. Если нет - вообще не рекомендуется использовать Beanshell, как это имеет некоторое известное исполнение проблемы, и он заброшен на> 10 лет. Переключитесь на JSR223 Post Processors и вместо этого выберите отличный. Groovy еще более совместим с Java, чем Beanshell, поэтому, если вы не использовали ничего, что нужно для Beanshell, вам не придется переписывать одну строку кода. См. Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! для теста Beanshell по сравнению с JSR223, инструкции по установке для мощного скриптового движка и примеры использования сценариев.