我有一个名为generateAccessToken
的API端点,它将生成一个accessToken
,并将访问令牌与响应一起发送。
generateAccessToken
API的响应:*
{
"data": {
"userId": "sdfjojeit8hg48ut39h3hr89",
"accessToken": "fjwem9t3e435ttu3t9u298ywt89gnm389ncr2x99829mntcmx"
}
}
还有另一个名为getUserProfile
的API端点,它将获取用户配置文件并返回响应。getUserProfile
API的标头:
Content-Type: application/json
Authorization: Bearer fjwem9t3e435ttu3t9u298ywt89gnm389ncr2x99829mntcmx
还有许多类似的API需要在Authentication
头中使用accessToken
。
我需要用一个yml
文件来测试这些API。
测试需要命中generateAccessToken
API,并从generateAccessToken
API的响应中 * 获取 * accessToken
,并将其存储在变量中,其他变量将此变量添加到其Authorization
标头中。
我可以使用JsonExtractor
和HTTPHeaderManager
对Jmeter
执行此操作
我是新的Taurus
和安静的困惑如何配置yml
文件来做到这一点。到目前为止,我已经创建了这一点。但不知道如何存储和使用accessToken
的头。
execution:
- concurrency: 100
ramp-up: 1m
hold-for: 2m
scenario: TestUser
scenarios:
TestUser:
requests:
- url: 'https://mywebapplication.com/generateAccessToken'
method: POST
headers:
Content-Type: 'application/json'
- url: 'https://mywebapplication.com/user/profile'
method: GET
headers:
Content-Type: 'application/json'
Authorization: 'kjdfoejgejfoskdfoeieio4etg94gn4880'
1条答案
按热度按时间ndasle7k1#
对于特定的情况,Taurus不会增加任何价值,它只会产生额外的开销,所以如果你有一个工作的JMeter脚本,你可以只run in in JMeter's command-line non-GUI mode,或者如果你需要特定的Taurus特性,比如实时报告,你可以使用Taurus运行现有的JMeter .jmx测试脚本:
如果出于任何原因你仍然想在Taurus YAML中实现这个场景--看看Taurus手册的Extractors章节。你应该能够通过修改你的测试得到你想要的结果,如下所示: