在wdio.conf.js文件中,我使用beforeTest部分设置JSON令牌,以便以后在测试套件中不再需要登录到web应用程序。
如果令牌是硬代码,则此操作将完美地工作!然而,我希望创建一个变量'jwt‘,并为它分配JSON令牌的值。当我这样做时,会出现一个错误"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“javascript错误中得到了错误'0-0错误: jwt未定义‘
发布于 2021-02-08 09:10:16
浏览器不知道jwt变量。您应该将此值作为函数的参数传递,如docs:https://webdriver.io/docs/api/browser/execute.html中所述。
browser.execute((browser_jwt) => localStorage.setItem('usertoken', browser_jwt), jwt)https://stackoverflow.com/questions/66066177
复制相似问题