尝试检查响应代码时出现金牛座错误

时间:2019-11-04 00:57:27

标签: blazemeter taurus

我正在尝试断言HTTP GET的响应

execution:
- executor: selenium
  scenario: dashboard
  iterations: 1

reporting:
- module: final-stats
  dump-xml: results/test.xml
  dump-csv: results/test2.csv
- module: junit-xml
  filename: results/testfinal.xml
  data-source: pass-fail  


modules:
  console:
    disable: true

scenarios:
  dashboard: 
    browser: Chrome
    timeout: 60s
    default-address: https://${URL}
    requests:
    - label: ignore
      url: https://${URL}
      actions:
      - waitByXPath(/html/body/div/div[2]/div/div/div/div[4]/div[2]/form/input[4]): Visible
      - keysByXPath(/html/body/div/div[2]/div/div/div/div[4]/div[2]/form/input[4]): ${USERNAME}
      - keysByXPath(/html/body/div/div[2]/div/div/div/div[4]/div[2]/form/input[5]): ${PASSWORD}
      - clickByXPath(/html/body/div/div[2]/div/div/div/div[4]/div[2]/form/div[4]/button)

    - url: /Sites/testsite/api/level1/status/auth-service-health-check 
      method: GET  
      assert:
       - contains:
          - 200
      subject: status-code

我遇到的错误是“ TypeError:第一个参数必须是字符串或编译模式”

请对此有任何帮助 我需要检查的是URL的响应状态是否为200:/ Sites / testsite / api / level1 / status / auth-service-health-check

问题就在这里

- contains:
    - 200
  subject: status-code

如果我添加的错误消失了,但是它检查响应正文而不是状态代码

- contains:
    - '200'
  subject: status-code

2 个答案:

答案 0 :(得分:2)

检查HTTP代码而不是状态代码的建议是正确的。要对此进行扩展,请查看此处的说明: https://gettaurus.org/docs/JMeter/#HTTP-Requests

向下滚动一点,其中有一些示例讨论了断言在Taurus中的确切工作方式。这部分特别值得注意:

可能的主题是:
身体
标头
http代码

答案 1 :(得分:1)

您是否尝试过将class Baseclass { // ... public: virtual int addme(int d) = 0; virtual std::unique_ptr<Baseclass> clone() = 0; }; class Subclass : Baseclass { // ... public: std::unique_ptr<Baseclass> clone() override { return std::make_unique<Subclass>(*this); } }; 更改为subject?:

http-code