【发布时间】:2021-02-05 15:40:26
【问题描述】:
在 wdio.conf.js 文件中,我使用 beforeTest 部分设置 JSON Web 令牌,以便稍后在测试套件中我不再需要登录 Web 应用程序。
如果令牌是硬编码的,那么这个动作就完美了!然而,我想创建一个变量“jwt”并为其分配 JSON Web 令牌的值。 当我这样做时,会给出一个错误“未定义 jwt”。
在 wdio.conf.js 的顶部,我编写了以下代码
const jwt = 'eyJ0eXAiOiJKV1QiLCJhb...'
在之前的操作中,我编写了以下代码
console.log('before exe ' + jwt)
browser.execute(() => localStorage.setItem('usertoken', jwt))
console.log('after exe ' + jwt)
控制台日志正在显示令牌,因此该变量在 beforeTesting 操作中起作用。 但是我在“BeforeTest Hook”中收到错误'[0-0]错误 javascript 错误:未定义 jwt'
【问题讨论】:
-
我的理解是,jwt 是在 nodejs 上下文中声明和使用的,而执行 api 在浏览器上下文中执行脚本。所以 jwt 在浏览器级别是未定义的。也许您可以尝试将 jwt 作为输入传递给执行脚本?
标签: javascript jwt mocha.js webdriver-io wdio-v6