You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对需身份验证的网页执行性能测试?

测试需JWT身份验证的网页(JMeter实现方案)

针对Angular这类依赖浏览器localStorage存储JWT的客户端应用,用JMeter测试需身份验证的网页可以按以下步骤来:

1. 先获取有效的JWT令牌

  • 添加HTTP请求元件,模拟登录接口调用:设置请求方法为POST,填写登录接口地址,根据后端要求的格式(JSON或表单)传入用户名、密码等参数。
  • 添加JSON提取器(如果登录响应是JSON格式),从响应体里提取JWT字段,把它存为一个变量,比如命名为JWT_TOKEN。如果响应是纯文本或其他格式,用正则表达式提取器也行。

2. 给浏览器注入JWT到localStorage

因为这类客户端应用是从localStorage读取令牌验证身份,所以需要用JMeter的WebDriver Sampler操作浏览器:

  • 确保已经通过JMeter插件管理器安装了Selenium/WebDriver Support插件。
  • 添加WebDriver Sampler,写入JavaScript代码,把提取到的JWT存入浏览器localStorage:
window.localStorage.setItem('token', '${JWT_TOKEN}');

(注意这里的token要和前端代码里读取的localStorage键名一致,比如有的项目叫authToken,要对应上)

3. 访问目标页面并验证

  • 继续在WebDriver Sampler里添加导航代码,或者单独加一个WebDriver Sampler:
WDS.browser.get('https://example.com/orders');
  • 添加响应断言或WebDriver里的断言逻辑,比如检查页面是否出现订单列表元素、页面标题是否符合预期,确认成功访问了需要验证的页面。

额外注意事项

  • 如果JWT有过期时间,要在测试流程里加入令牌有效性检查,过期就重新调用登录接口刷新令牌。
  • 每次测试前建议清理浏览器缓存和localStorage,避免旧令牌影响测试结果。
  • 如果是API层面的测试(而非UI页面),直接在HTTP请求的请求头里添加Authorization: Bearer ${JWT_TOKEN}即可,不需要操作localStorage。

内容的提问来源于stack exchange,提问作者Sohlae

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 20:37:19