我有 10 个功能要测试。为此我编写了 10 个测试脚本。 每个测试脚本使用不同的用户名/密码登录网站。
我想对每个测试脚本使用相同的登录代码,但每次都应该使用特定于该功能的用户名/密码。
我尝试使用它:登录场景需要用户名和密码
- include-scenario: login
properties:
Username: Feature_user1
Password: Feature_pswd1
- include-scenrio: feature1
对于其他类似风格的人。
- include-scenario: login
properties:
Username: Feature_user2
Password: Feature_pswd2
- include-scenario: feature2
它不起作用。我收到错误:
ERROR: Config error: Wrong request
在 https://gettaurus.org/docs/JMeter/ 中,它提到了场景级属性。
我正在访问这些属性,例如:
${${__P(Username)}} and ${${__P(Password)}}
任何解决这个问题的指示。
我认为你无法实现这一目标,因为:
include-scenario
块时,它会生成一个测试计划,因此您将无法针对不同的子场景使用不同的属性我认为您可以使用 JSR223 Blocks 为不同的场景设置不同的凭据,例如:
execution:
- concurrency: 1
iterations: 1
scenario: combined-scenario
scenarios:
feature1:
requests:
- url: https://blazedemo.com?username=${username}&password=${password}
method: GET
jsr223:
- execute: before
script-text: 'vars.put("username", "feature-1-username"); vars.put("password", "feature-1-password")'
feature2:
requests:
- url: https://demoblaze.com?username=${username}&password=${password}
method: GET
jsr223:
- execute: before
script-text: 'vars.put("username", "feature-2-username"); vars.put("password", "feature-2-password")'
combined-scenario:
requests:
- include-scenario: feature1
- include-scenario: feature2
更多信息: