JMeter выбрасывает oajJMeter: необработанное исключение: java.lang.StackOverflowError: пустая ошибка - PullRequest
0 голосов
/ 07 декабря 2018

Jmeter выбрасывает ОШИБКУ oajJMeter: необработанное исключение: java.lang.StackOverflowError: null

Скрипт с использованием кода контроллера цикла $ {__ groovy (vars.get ("continueLoop") == "true")}

Примечание. Файл данных CSV содержит 2 строки данных. Я выполняю тестирование только для 1 пользователя.

2018-12-07 10: 51: 20,773 ОШИБКА oajJMeter: Неопределенное исключение: java.lang.StackOverflowError: null в org.apache.jmeter.testelement.AbstractTestElement.getPropertyAsBoolean (AbstractTestElement.java:249) ~ [ApacheJMeter_core.jar: 5.0 r1840935] в org.apache.jmeter.procont.Manager.ht.java: 146) ~ [ApacheJMeter_http.jar: 5.0 r1840935] at org.apache.jmeter.protocol.http.control.CookieManager.testIterationStart (CookieManager.java:431) ~ [ApacheJMeter_http.jar: 5.0 или 1840935].jmeter.threads.JMeterThread.notifyTestListeners (JMeterThread.java:971) ~ [ApacheJMeter_core.jar: 5.0 r1840935] в org.apache.jmeter.threads.JMeterThread $ IterationListener.iterationStart (JMeterThread.java:1054) ~ [ApacheJMeter_core.jar: 5.0 r1840935] в org.apache.jmeter.control.GenericController.fireIterationStart (GenericController.java:399) ~ [ApacheJMeter_c18.jar. 5.0: 9: 5.0.jmeter.control.GenericController.fireIterEvents (GenericController.java:391) ~ [ApacheJMeter_core.jar: 5.0 r1840935] в org.apache.jmeter.control.GenericController.next (GenericController.jar: j_60: jar_160): java.j:] в org.apache.jmeter.control.LoopController.next (LoopController.java:134) ~ [ApacheJMeter_core.jar: 5.0 r1840935] в org.apache.jmeter.control.LoopController.nextIsNull (LoopControl6) [LoopControl6].ApacheJMeter_core.jar: 5.0 r1840935] at org.apache.jmeter.control.GenericController.next (GenericController.java:170) ~ [ApacheJMeter_core.jar: 5.0 r1840935]

*1001*enter image description here 1012 *

enter image description here

enter image description here

1 Ответ

0 голосов
/ 09 декабря 2018

Вы не показываете, где вы инициализируете continueLoop со значением true и где вы изменяете его в значение false.

Вы должны показывать содержимое jmeter.log (используйте pastebin или simular-приложения), поскольку оно, безусловно, содержит важную информацию, чтобы помочьВы.

См. рабочий пример:

    <?xml version="1.0" encoding="UTF-8"?>
    <jmeterTestPlan version="1.2" properties="5.0" jmeter="5.1-SNAPSHOT.20181206">
      <hashTree>
        <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
          <stringProp name="TestPlan.comments"></stringProp>
          <boolProp name="TestPlan.functional_mode">false</boolProp>
          <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
          <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
          <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
            <collectionProp name="Arguments.arguments">
              <elementProp name="continueLoop" elementType="Argument">
                <stringProp name="Argument.name">continueLoop</stringProp>
                <stringProp name="Argument.value">true</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
              </elementProp>
            </collectionProp>
          </elementProp>
          <stringProp name="TestPlan.user_define_classpath"></stringProp>
        </TestPlan>
        <hashTree>
          <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
            <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
            <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
              <boolProp name="LoopController.continue_forever">false</boolProp>
              <stringProp name="LoopController.loops">1</stringProp>
            </elementProp>
            <stringProp name="ThreadGroup.num_threads">1</stringProp>
            <stringProp name="ThreadGroup.ramp_time">1</stringProp>
            <boolProp name="ThreadGroup.scheduler">false</boolProp>
            <stringProp name="ThreadGroup.duration"></stringProp>
            <stringProp name="ThreadGroup.delay"></stringProp>
          </ThreadGroup>
          <hashTree>
            <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="WC" enabled="true">
              <stringProp name="WhileController.condition">${__groovy(vars.get(&quot;continueLoop&quot;) == &quot;true&quot;)}</stringProp>
            </WhileController>
            <hashTree>
              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
                <boolProp name="displayJMeterProperties">false</boolProp>
                <boolProp name="displayJMeterVariables">true</boolProp>
                <boolProp name="displaySystemProperties">false</boolProp>
              </DebugSampler>
              <hashTree/>
              <TestAction guiclass="TestActionGui" testclass="TestAction" testname="Think Time" enabled="true">
                <intProp name="ActionProcessor.action">1</intProp>
                <intProp name="ActionProcessor.target">0</intProp>
                <stringProp name="ActionProcessor.duration">0</stringProp>
              </TestAction>
              <hashTree>
                <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Pause" enabled="true">
                  <stringProp name="ConstantTimer.delay">100</stringProp>
                  <stringProp name="RandomTimer.range">100</stringProp>
                </UniformRandomTimer>
                <hashTree/>
              </hashTree>
              <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
                <stringProp name="IfController.condition">${__jexl3(${__jm__WC__idx} == 10,)}</stringProp>
                <boolProp name="IfController.evaluateAll">false</boolProp>
                <boolProp name="IfController.useExpression">true</boolProp>
              </IfController>
              <hashTree>
                <TestAction guiclass="TestActionGui" testclass="TestAction" testname="Flow Control Action" enabled="true">
                  <intProp name="ActionProcessor.action">1</intProp>
                  <intProp name="ActionProcessor.target">0</intProp>
                  <stringProp name="ActionProcessor.duration">0</stringProp>
                </TestAction>
                <hashTree>
                  <UserParameters guiclass="UserParametersGui" testclass="UserParameters" testname="User Parameters" enabled="true">
                    <collectionProp name="UserParameters.names">
                      <stringProp name="-753878037">continueLoop</stringProp>
                    </collectionProp>
                    <collectionProp name="UserParameters.thread_values">
                      <collectionProp name="-544885953">
                        <stringProp name="97196323">false</stringProp>
                      </collectionProp>
                    </collectionProp>
                    <boolProp name="UserParameters.per_iteration">false</boolProp>
                  </UserParameters>
                  <hashTree/>
                </hashTree>
              </hashTree>
            </hashTree>
          </hashTree>
        </hashTree>
      </hashTree>
    </jmeterTestPlan>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...