Логическое проектирование в jmeter - ошибки прохождения в цепочке тестовых потоков - PullRequest
0 голосов
/ 27 марта 2019

Посоветуйте, пожалуйста, какой должен быть хороший дизайн и реализацию следующего сценария, с которым я столкнулся.

Дизайн

Sampler 1 (prerequisite)
Sampler 2 (prerequisite)
Sampler 3 (actual test)

Исполнение

    Sampler 1 failed with error
    Sampler 2 not executed 
    Sampler 3 not executed but marked as failed with Sampler 1 error or executed but result data replaced with error from Sampler 1

Примечание. Необходимые пробоотборники исключаются из отчета о конечном результате (решение для этого уже найдено).

1 Ответ

0 голосов
/ 27 марта 2019

Вы можете создать свой тест следующим образом:

  • Sampler 1

    • JSR223 PostProcessor со следующим кодом:

      if (!prev.isSuccessful()) {
          vars.putObject('sampler1Result', prev)
      }
      
  • Если контроллер со следующим условием: ${JMeterThread.last_sample_ok}
    • Sampler 2
  • Sampler 3

    • JSR223 PostProcessor со следующим кодом:

      if (vars.getObject('sampler1Result') != null) {
          def sampler1Result = vars.getObject('sampler1Result')
          prev.setSuccessful(sampler1Result.isSuccessful())
           prev.setResponseCode(sampler1Result.getResponseCode())
           prev.setResponseMessage(sampler1Result.getResponseMessage())
           prev.setResponseData(sampler1Result.getResponseData())
      }
      

Где:

  • vars - это сокращение для JMeterVariables экземпляр класса
  • prev - это сокращение для HTTPSampleResult экземпляр класса

enter image description here

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