我正在尝试断言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
答案 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