Jmeter接口测试之 登录接口(session+csrf)测试实例

最近学习了如何使用jmeter进行接口测试,下面记录一个登录接口测试的实例。

1. 使用Fiddler 抓取登录过程,如下图,

查看Inspectors>>Headers:

Jmeter接口测试之 登录接口(session+csrf)测试实例_第1张图片

查看Inspectors>>WebForms:

Jmeter接口测试之 登录接口(session+csrf)测试实例_第2张图片

  • 方式是 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
    通过观察我们可以发现csrfmiddlewaretoken的值与Cookie中csrftoken的值是一样的,所以csrfmiddlewaretoken的值是通过获取csrftoken的值,然后赋值给csrfmiddlewaretoken的,通过HTTP Cookie Manager获取Cookie的相关参数和值。下面会详细介绍

2. 在Jmeter中编写测试用例

2.1 创建线程组

Jmeter接口测试之 登录接口(session+csrf)测试实例_第3张图片

2.2 配置HTTP Request Defaults

2.2.1 创建HTTP Request Defaults

Jmeter接口测试之 登录接口(session+csrf)测试实例_第4张图片

2.2.2 配置server/portal, 默认协议是http,不填写就是默认值http

Jmeter接口测试之 登录接口(session+csrf)测试实例_第5张图片

2.3 配置HTTP header信息

2.3.1 创建HTTP header

Jmeter接口测试之 登录接口(session+csrf)测试实例_第6张图片

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

Jmeter接口测试之 登录接口(session+csrf)测试实例_第7张图片

 

2.4 创建HTTP Request

2.4.1 在线程组下面创建HTTP Request Sampler, 这一步用于获取http session

Jmeter接口测试之 登录接口(session+csrf)测试实例_第8张图片

2.4.2 配置http request, 之前已经配置过server和port,这里只需配置api路径和方法(GET/POST..), 这里不用设置参数

Jmeter接口测试之 登录接口(session+csrf)测试实例_第9张图片

2.5 创建HTTP Cookie Manager

2.5.1 创建HTTP Cookie Manager,自动获取cookie以备后续步骤使用

Jmeter接口测试之 登录接口(session+csrf)测试实例_第10张图片

2.5.2 不用配置任何东西,默认就可以

Jmeter接口测试之 登录接口(session+csrf)测试实例_第11张图片

2.6 创建登录http 请求

2.6.1 创建HTTP Request

Jmeter接口测试之 登录接口(session+csrf)测试实例_第12张图片

2.6.2 配置登录http request参数

Method: POST

Path: /login/?next=/dashboard/main/

加入登录所需的4个参数,这些参数的值是第一步通过Fiddler获取的,具体如下:

Jmeter接口测试之 登录接口(session+csrf)测试实例_第13张图片

csrfmiddlewaretoken的值可以写成${COOKIE_csrftoken}, COOKIE_csrftoken是由HTTP Cookie Manager 自动生成的,一般是COOKIE_xx,具体xx看cookie中的参数

Jmeter接口测试之 登录接口(session+csrf)测试实例_第14张图片

2.7 添加结果树

Jmeter接口测试之 登录接口(session+csrf)测试实例_第15张图片

运行测试用例,点击如图所示的绿色图标

 Jmeter接口测试之 登录接口(session+csrf)测试实例_第16张图片

2.8 查看测试结果

Jmeter接口测试之 登录接口(session+csrf)测试实例_第17张图片

 

参考文章:

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

 

你可能感兴趣的:(Jmeter)