Как получить родительский URL текущего неудачного URL в Jmeter? - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь получить родительский URL текущего невыполненного запроса (например, для веб-сайта, посвященного путешествиям, родительский URL будет поисковой службой, а текущий URL выбирает страницу выбора рейсов). Как мы можем это сделать?Контроллер if после сбоя url и beanshell, так что он выбирает родительский URL для всех запросов о сбоях рейсов.Но то, что происходит, если текущий запрос на полет является фальсификацией, он не перейдет к следующему, если контроллер вообще.Исполнение останавливается.Может ли кто-нибудь направить меня к лучшему?

1 Ответ

0 голосов
/ 14 ноября 2018
  1. Прежде всего забудьте о Beanshell, вы должны использовать JSR223 Test Elements и язык Groovy для сценариев , начиная по крайней мере с JMeter версии 3.1 (для более ранних версий это также рекомендовалось, однако Groovy не было входит в дистрибутив JMeter)
  2. Добавить JSR223 PostProcessor как дочерний элемент 2-го запроса
  3. Поместите следующий код в область «Сценарий»:

    if (!prev.isSuccessful()) {
        log.info('Previous sampler name: ' + ctx.getPreviousSampler().getName())
        log.info('Previous sampler URL: ' + ctx.getPreviousSampler().getUrl().toString())
    }
    
  4. Вот и все, вы должны увидеть имя предыдущего сэмплера и его URL на панели Log Viewer и в jmeter.log file

    enter image description here

    Вы можете сохранить URL-адрес в переменную JMeter , например:

    vars.put('url', ctx.getPreviousSampler().getUrl().toString())
    

    когда вы закончите, вы сможете получить доступ к значению как ${url}, где это необходимо.

Ссылки

См. JavaDoc для приведенных выше классов для описания используемых функций и Apache Groovy - почему и как вы должны его использовать статья для получения дополнительной информации о скриптах Groovy в JMeter.

...