2016-02-10 141 views
2

我開發了一個基於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的舞蹈?

任何想法?

回答

3
  1. 提供了不同的憑據是相當容易的,最常用的測試元件CSV Data Set Config在那裏你可以保留用戶名/密碼組合
  2. 您可以添加用戶名和密碼(以及code等),請求頭通過HTTP標題管理器。將其添加爲HTTP請求的子項並填充所需的標題名稱和值。在CSV數據集的配置定義也將發揮
  3. 可以使用Regular Expression Extractor
  4. 經由HTTP頭管理器等在點2
提供 Authorization報頭中提取從響應頭 AccessToken JMeter Variables