基于Jmeter令牌的授权机制
问题描述:
我开发了一个基于JAXRS的REST WebAPI。它采用基于令牌的授权机制。这与OAuth 2.0非常相似:基于Jmeter令牌的授权机制
所以,我需要创建一个JMeter测试以测试我的webapi。
1. Get Authorization Code (on http://www.host.com/authz) Request: [ Header: 'response_type', Value: 'code'] [ Header: 'client_id', Value: 'FIXED ID STRING'] [ Header: 'username', Value: '$USER provided from a data source' ] [ Header: 'password', Value: '$PASSWORD provided from a data source'] Response: [ Header: 'code', Value: '%AuthorizationCode' ] [ Header: 'expires_in', Value: '100'(seconds)]2. Get Access Token Request: [Header: 'grant_type', Value: 'authorization_code'] [Header: 'code', Value: '%AuthorizationCode provided on the last request'] [Header: 'client_id', Value: 'FIXED ID STRING'] Response: [Header: 'access_token', Value: '%AccessToken'] [Header: 'expires_in', Value: '500'(seconds)] [Header: 'refresh_token', value: '%RefrestToken']
的那段舞蹈后,我已经得到了%AuthorizationCode,%的accessToken和%RefreshToken。
从现在开始,我可以使用这些代码访问webapi。
ForEach user in a datasource: Loop Forever: Send Http request each X seconds (on http://www.host.com/webapi) [Header: 'Authorization', Value: 'OAuth + %AccessToken']
我已经是绝对不知道如何建立这个。
例如:我想用50个用户测试并在6分钟内执行100次webapi方法。
- 如何向JMeter提供多个用户信息?
- 如何构建这种类似OAuth的舞蹈?
任何想法?
答
- 提供了不同的凭据是相当容易的,最常用的测试元件CSV Data Set Config在那里你可以保留用户名/密码组合
- 您可以添加用户名和密码(以及
code
等),请求头通过HTTP标题管理器。将其添加为HTTP请求的子项并填充所需的标题名称和值。在CSV数据集的配置定义也将发挥 - 可以使用Regular Expression Extractor
- 经由HTTP头管理器等在点2
Authorization
报头中提取从响应头
AccessToken
JMeter Variables