0

在 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 操作中起作用。但是我收到错误“[0-0] “BeforeTest Hook”javascript 错误中的错误:未定义 jwt”

4

1 回答 1

1

浏览器不知道jwt变量。您应该将此值作为函数的参数传递,如文档中所述: https ://webdriver.io/docs/api/browser/execute.html 。

browser.execute((browser_jwt) => localStorage.setItem('usertoken', browser_jwt), jwt)
于 2021-02-08T09:10:16.713 回答