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%

您将需要根据您的需要修改代码,但概念应该相同。如果需要,请联系您的应用程序开发人员寻求帮助。

参考文献: