Телец - для подтверждения правильности перенаправленного URL - PullRequest
1 голос
/ 30 мая 2019
scenarios:
   RedirectURL:
   variables:
       baseurl: https://www.example.com
   headers:
       Authorization: example
   retrieve-resources: false
   follow-redirects: true
   requests:
      - url: https://www.example.com
       method: GET
        assert:
          - contains:
          - 301
        subject: http-code
        assume-success: true

Я вижу, что в Тельце мы можем проверять коды возврата, а также делать утверждения в теле на HTML-странице, которая будет отображаться. Можно ли перехватить URL-адрес, на который будет перенаправлена ​​страница, и сделать на нем утверждение? Пример: если я ожидаю, что https://www.example.com будет перенаправлен только на https://www.example.com/test/, и потерпит неудачу, если он перенаправит на https://www.example.com/testing/, как мне этого добиться? ТИА

1 Ответ

1 голос
/ 06 июня 2019

Использование постпроцессора JSR223 для необязательного изменения SampleResult на сбой

scenarios:
  RedirectURL:
     variables:
       baseurl: https://www.example.com
     headers:
       Authorization: example
     retrieve-resources: false
     follow-redirects: true
     requests:
       - url: https://www.example.com
         method: GET
         assert:
         - contains:
           - 200 # Response code of the url after the redirect
           subject: http-code

         jsr223:
           - language: groovy
             execute: after
             script-text: if (prev.getUrlAsString() != 'https://www.example.com/test/') { prev.setSuccessful(false); prev.setResponseMessage('Unexpected URL'); }

пред https://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html

...