Jmeter接口测试之 登录接口(session+csrf)测试实例
最近学习了如何使用jmeter进行接口测试,下面记录一个登录接口测试的实例。
1. 使用Fiddler 抓取登录过程,如下图,
查看Inspectors>>Headers:
查看Inspectors>>WebForms:
- 方式是 HTTP POST
- User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
- 使用cookies
- Content-Type: application/x-www-form-urlencoded
- 提交时参数为:
csrfmiddlewaretoken username
password
sign_in
2. 在Jmeter中编写测试用例
2.1 创建线程组
2.2 配置HTTP Request Defaults
2.2.1 创建HTTP Request Defaults
2.2.2 配置server/portal, 默认协议是http,不填写就是默认值http
2.3 配置HTTP header信息
2.3.1 创建HTTP header
2.3.2 配置http header
User-Agent 和 Content-Type 的值都是从第1步fiddler抓包过程获取的值
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
Content-Type: application/x-www-form-urlencoded
2.4 创建HTTP Request
2.4.1 在线程组下面创建HTTP Request Sampler, 这一步用于获取http session
2.4.2 配置http request, 之前已经配置过server和port,这里只需配置api路径和方法(GET/POST..), 这里不用设置参数
2.5 创建HTTP Cookie Manager
2.5.1 创建HTTP Cookie Manager,自动获取cookie以备后续步骤使用
2.5.2 不用配置任何东西,默认就可以
2.6 创建登录http 请求
2.6.1 创建HTTP Request
2.6.2 配置登录http request参数
Method: POST
Path: /login/?next=/dashboard/main/
加入登录所需的4个参数,这些参数的值是第一步通过Fiddler获取的,具体如下:
csrfmiddlewaretoken的值可以写成${COOKIE_csrftoken}, COOKIE_csrftoken是由HTTP Cookie Manager 自动生成的,一般是COOKIE_xx,具体xx看cookie中的参数
2.7 添加结果树
运行测试用例,点击如图所示的绿色图标
2.8 查看测试结果
参考文章:
https://blog.csdn.net/lion19930924/article/details/51189210
https://blog.csdn.net/chen_jint/article/details/12956797
Fiddler使用
https://blog.csdn.net/notejs/article/details/49681479
https://blog.csdn.net/qq_36350532/article/details/79248897