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

如何在JMeter的WebDriver Sampler中传递CSV文件中的Bearer Token

在JMeter WebDriver Sampler中传递Bearer Token的方法

假设你已经通过CSV Data Set Config将Token加载到JMeter变量中(比如变量名为bearerToken,可根据你的CSV列名调整),以下是几种可行的传递方式:

方法1:通过JavaScript注入设置浏览器存储(单页应用常用)

很多前端应用会把Bearer Token存在localStorage或sessionStorage中,你可以在WebDriver Sampler里执行JavaScript代码直接写入:

// 从JMeter变量中获取Token
def token = vars.get("bearerToken")

// 将Token写入localStorage(替换authToken为你的应用实际使用的键名)
WDS.browser.executeScript("localStorage.setItem('authToken', 'Bearer ${token}');")

// 如果应用用sessionStorage,替换为:
// WDS.browser.executeScript("sessionStorage.setItem('authToken', 'Bearer ${token}');")

// 导航到应用页面
WDS.browser.get("https://你的应用地址.com")

方法2:添加Cookie(若应用通过Cookie验证)

如果你的应用依赖Cookie携带Token,直接用WebDriver的Cookie API添加:

def token = vars.get("bearerToken")

// 创建Cookie对象,按需调整name、domain、path等参数
def authCookie = new org.openqa.selenium.Cookie(
    "Authorization", 
    "Bearer ${token}", 
    ".你的应用域名.com", 
    "/", 
    null
)

// 将Cookie添加到浏览器
WDS.browser.manage().addCookie(authCookie)

// 刷新或导航到应用页面
WDS.browser.get("https://你的应用地址.com")

方法3:通过代理添加请求头(拦截API请求)

如果应用在页面加载时会发送需要Token的API请求,WebDriver本身无法直接修改请求头,可配合BrowserMob Proxy实现:

// 启动BrowserMob Proxy
def proxy = new net.lightbody.bmp.BrowserMobProxyServer()
proxy.start()

// 添加Authorization请求头
proxy.addHeader("Authorization", "Bearer ${vars.get('bearerToken')}")

// 配置浏览器使用该代理(以Chrome为例)
def chromeOptions = new org.openqa.selenium.chrome.ChromeOptions()
chromeOptions.setProxy(proxy.seleniumProxy())

// 初始化WebDriver
WDS.browser = new org.openqa.selenium.chrome.ChromeDriver(chromeOptions)

// 导航到应用页面
WDS.browser.get("https://你的应用地址.com")

注意事项

  • 先通过浏览器开发者工具(Application标签)确认你的应用存储Token的位置(localStorage/sessionStorage/Cookie),对应调整代码。
  • 确保Token格式正确:多数应用要求Bearer 前缀(注意空格),不要遗漏。
  • JMeter变量名必须和CSV Data Set Config中配置的一致,比如你CSV列名为token,则代码中用vars.get("token")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:25:54