我正在开发Spring的REST API(HTTPS),现在需要将测试加载到1000个并发用户。问题是我使用了siege来加载测试,但它无法通过测试jwt token header.Which是在我的场景中执行负载测试的最佳方式?如何为JWT Secured Rest API进行负载测试
1
A
回答
1
您可以使用Jmeter来测试JWT Secured Rest API。
您可以在“HTTP标头管理器”和请求中包含jwt标记。
参见:http://jmeter.apache.org/usermanual/build-adv-web-test-plan.html#header_manager
2
我建议以下配置:
- 将jjwt jar具有依赖性(jackson-databind)沿JMeter Classpath下(只是下降的罐子中的 “LIB” 你的JMeter的安装和重新启动的文件夹JMeter接收它们)
- 添加HTTP Request采样器并将其配置为发送您的API请求。
- 将HTTP Header Manager添加为HTTP请求采样器的子项。
- 将JSR223 PreProcessor添加为HTTP请求采样器的子项。
将以下代码到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%
。
您将需要根据您的需要修改代码,但概念应该相同。如果需要,请联系您的应用程序开发人员寻求帮助。
参考文献:
相关问题
- 1. 如何运行多线程wget在REST API上进行负载测试
- 2. 如何对websockets进行负载测试
- 3. 使用JMeter进行负载测试
- 4. 如何重新使用Rspec测试进行负载测试
- 5. Web API负载测试
- 6. Thrift API负载测试
- 7. 如何为网站进行负载测试?
- 8. GCM无法进行负载测试
- 9. 如何测试使用jwt保护的REST API
- 10. 使用TestNG进行负载测试
- 11. 使用爬虫进行负载测试
- 12. 使用Jenkins进行负载测试
- 13. 使用BotFramework-Emulator进行负载测试
- 14. 超级测试,测试安全REST API
- 15. JMeter中的随机路径REST API负载测试
- 16. JMeter:什么是负载测试REST API的良好测试结构?
- 17. 如何测试JSON REST API
- 18. 对负数进行测试
- 19. 测试CakePHP 3 REST API
- 20. 如何对使用REST API的JS进行单元测试?
- 21. 如何使用jmeter和visualVM进行负载测试?
- 22. setUp和tearDown如何使用Jmeter和Junit进行负载测试?
- 23. 如何将JMeter与Selenium WebDriver集成进行负载测试?
- 24. 如何处理Jmeter中的post方法进行负载测试?
- 25. 如何对node.js服务器进行负载测试?
- 26. 测试REST API
- 27. REST API发送JWT
- 28. 如何在Windows中运行Apache基准测试负载测试?
- 29. 服务器和API负载测试
- 30. WCF负载测试