性能测试之JMeter-实践2

怎么使用cookie和header

12. 想测试登录后的界面,怎么让请求执行的时候知道当前已经是登录状态呢

a. 先试一下,接着在上面的基础上,添加这个界面http请求(user list页面)

因为这个页面由两个请求组成,所以我加了一个事物控制器来组合这两个请求Thread Group -> Add -> Logic Controller -> Transaction Controller

 下面两个请求就不在这里写了,还是通过fiddler或者chrome来获取他们的path和body data

b. 执行以下看看情况-在报错,说没有权限,因为没有获取到登录信息

c. 怎么获取登录信息呢?需要cookie和header,cookie的话直接加一个cookie管理器就可以了,它可以把上面请求的cookie都用到下一个请求,但是header需要自己一个个添加,那怎么知道哪个header是必须的,这个我也还不清楚,只得一个个尝试

c-1. 添加cookie管理器 Thread Group -> Add -> Config Element -> HTTP Cookie Manager

做到这一步可以先看看能都执行成功,我写的这个例子是不行的,然后试了好久,才发现http header需要一个必须的值

c-2. 添加header管理器 Thread Group -> Add -> Config Element -> HTTP Header Manager

 

d. 再执行以下看看情况-执行成功了,看request body和header分别带上了cookie和header

 同样的方法写一个endpoint list

13. 优化:上面所有的请求都有一个共同点,http request的server name or ip相同,我们可以添加一个HTTP Request Defaults组件,这样后面所有的http request就不用写了(当然,如果有不同,是可以覆盖的)

Thread Group -> Add -> Config Element -> HTTP Request Defaults

posted @ 2019-03-08 10:42  Catherine-Wang  阅读(113)  评论(0编辑  收藏  举报