2017-05-16 30 views
1

我正在開發Spring的REST API(HTTPS),現在需要將測試加載到1000個併發用戶。問題是我使用了siege來加載測試,但它無法通過測試jwt token header.Which是在我的場景中執行負載測試的最佳方式?如何爲JWT Secured Rest API進行負載測試

回答

2

我建議以下配置:

  1. jjwt jar具有依賴性(jackson-databind)沿JMeter Classpath下(只是下降的罐子中的 「LIB」 你的JMeter的安裝和重新啓動的文件夾JMeter接收它們)
  2. 添加HTTP Request採樣器並將其配置爲發送您的API請求。
  3. HTTP Header Manager添加爲HTTP請求採樣器的子項。
  4. JSR223 PreProcessor添加爲HTTP請求採樣器的子項。
  5. 將以下代碼到JSR223預處理器「腳本」區域:

    import io.jsonwebtoken.Jwts 
    import io.jsonwebtoken.SignatureAlgorithm 
    import io.jsonwebtoken.impl.crypto.MacProvider 
    import org.apache.jmeter.protocol.http.control.Header 
    import java.security.Key 
    
    
    def key = MacProvider.generateKey(); 
    
    def compactJws = Jwts.builder() 
        .setSubject('Joe') 
        .signWith(SignatureAlgorithm.HS512, key) 
        .compact() 
    
    sampler.getHeaderManager().add(new Header('Authorization', 'Bearer ' + compactJws)) 
    

上面的代碼將生成一個JSON Web Token將具有registered claim子(被攝體)設置爲Joe並添加Authorization頭對於HTTP請求的值爲Bearer %generated token string%

您將需要根據您的需要修改代碼,但概念應該相同。如果需要,請聯繫您的應用程序開發人員尋求幫助。

參考文獻: