怎么使用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