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

如何使用Java Selenium从浏览器Cookie获取Token用于Rest Assured

使用Java Selenium获取浏览器Token并用于Rest Assured

Token通常存储在Cookie、LocalStorage/SessionStorage中,以下是两种常见场景的代码实现:

1. 从Cookie中提取Token

多数后端服务会将Token存入Cookie(比如JSESSIONID、auth_token等),直接通过Selenium的Cookie管理API获取:

// 初始化WebDriver并完成登录操作(确保Token已生成)
WebDriver driver = new ChromeDriver();
driver.get("目标系统的登录后页面URL");

// 获取指定名称的Cookie,替换为实际的Token键名
Cookie authCookie = driver.manage().getCookieNamed("auth_token");
String token = authCookie.getValue();

// 传入Rest Assured发起请求
given()
    .header("Authorization", "Bearer " + token) // 根据认证方式调整,如Basic、Bearer
.when()
    .get("目标API接口URL")
.then()
    .statusCode(200);

2. 从LocalStorage/SessionStorage提取Token

前端单页应用常将Token存在LocalStorage或SessionStorage中,需通过执行JavaScript获取:

// 确保页面已加载完成且Token已存入存储
WebDriver driver = new ChromeDriver();
driver.get("登录后的页面URL");

// 执行JS获取LocalStorage中的Token,替换为实际的存储键名
String token = (String) driver.executeScript("return localStorage.getItem('user_token');");

// SessionStorage的写法类似,替换为sessionStorage即可
// String token = (String) driver.executeScript("return sessionStorage.getItem('user_token');");

// 用Rest Assured调用API
given()
    .header("Authorization", "Bearer " + token)
.when()
    .post("目标API接口URL")
.then()
    .statusCode(201);

注意事项

  • 必须在Token已生成后执行获取操作(比如完成登录流程后)
  • 实际的Cookie键名、存储键名需通过浏览器开发者工具(Application标签)查看确认
  • 若Token在请求/响应头中,可结合Selenium的网络日志监听获取(需配置浏览器驱动的网络日志参数)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:50:29