我必须对特定应用程序执行负载测试,并且正在使用JMeter。
在我的应用程序中,我有一个唯一的访问令牌,它将在成功登录时获得,并且必须将此令牌传递给连续的请求以获取响应。
现在我已经为我的测试计划添加了一个记录器并运行了HTTP测试脚本记录器。所有浏览器操作都记录在测试计划的记录器中。 我的测试计划和工作台的结构如下所述。
**Testplan-**
*Threadgroup*
Recorder-
//inside the recorder
[Request1-login
Request2-To load the uploaded images by the corresponding user]
//Outside the recorder inside the thread group,
View Results Tree
HTTP Cache Manager
HTTP Coockie Manager
**WorkBench**
HTTP(s) Test Script Recorder
默认情况下,每个请求都有一个标头管理器,我记录的是将使用request1的json extracter获取的提取标记添加到记录脚本中request2的标头管理器中。
令牌与请求标头一起传递,如下所示,但获得的响应未经授权。
Request Headers:
Connection: keep-alive
Referer: http://localhost/
Accept-Language: en-US,en;q=0.5
Origin: http://localhost
Content-Type: application/json;charset=utf-8
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0
Accept: application/json, text/plain, */*
Authorisation:91kLM68tdMBoDFRURArvdmwYgWV9Nr2sHYDwivTM.91kLM68tdMBoDFRURArvdmwYgWV9Nr2sHYDwivTM.Arvdm_M68-BoDFRURArvdmwYgWV9Nr2sHYDwivTM
Content-Length: 0
Host: http://localhost/phpmyadmin/index.php
我在邮递员中检查了相同的令牌并获得了正确的回复。
我错过了什么?在运行录制的测试脚本之前还有什么我需要处理的吗?请帮忙
答案 0 :(得分:1)
完全比较(Header + Body)请求:
某处肯定存在差异。
在CookieManager中,如果使用JMeter 3.x
,请确保将Policy设置为“standard”根据你的评论: