Как я могу запустить несколько, если контроллер в Jmeter - PullRequest
0 голосов
/ 30 ноября 2018

В настоящее время я работаю в тесте с высокой нагрузкой, у меня есть один запрос на вход в систему с доступом с помощью имени пользователя и пароля и базовой аутентификацией, мне нужно проверить некоторую информацию из ответа, и я использую утверждения, но мне нужно применить другой видУтверждать в зависимости от ответа кода и чтобы сделать это, я использую элемент управления if, помещая утверждения внутрь как дочерний элемент, проблема начинается, когда я пытаюсь выполнить утверждения с ответом кода ошибки, в некоторых случаях контроллер if непринимая значение переменной, которую я создал для хранения ответа кода.кто-нибудь может мне помочь?спасибо!

1 Ответ

0 голосов
/ 30 ноября 2018

Вы не можете поставить утверждение как прямой дочерний элемент If Controller.На самом деле вы можете, однако это не будет иметь никакого смысла, так как утверждения подчиняются Правилам JMeter Scoping , и поскольку в области утверждений нет никакого сэмплера - оно просто не будет выполнено.

Я бы рекомендовал перейти на JSR223 Assertion , где у вас есть все возможности Groovy SDK и JMeter API , чтобы настроить свой пользовательский проход/ Неудачные критерии.Псевдокод будет выглядеть примерно так:

if (SampleResult.getResponseCode().equals('200')) {
    //do what you need when response code is 200
    //for example let's check if response contains "foo" line
    if (!SampleResult.getResponseDataAsString().contains('foo')) {
        AssertionResult.setFailure(true)
        AssertionResult.setFailureMessage('Failed to find "foo" line in the response')
    }
}
else if (SampleResult.getResponseCode().equals('300')) {
    //do what you need when response code is 300
}
else if (SampleResult.getResponseCode().equals('400')){
    //do what you need when response code is 400
}
else {
    AssertionResult.setFailure(true)
    AssertionResult.setFailureMessage('Unexpected response code: ' + SampleResult.getResponseCode())
}

Ссылки:

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