In the wdio.conf.js file, I'm using the beforeTest section to set a JSON web token so that, later on in the test suites I no longer need to login into the web application.
If the token is hardcode, this action is working perfectly. Yet I would like to create a variable 'jwt' and assign it the value of the JSON web token, When I do this. an error is given "jwt is not defined".
At the top of wdio.conf.js I write the following code const jwt = 'eyJ0eXAiOiJKV1QiLCJhb...'
In the before action I write the following code
console.log('before exe ' + jwt)
browser.execute(() => localStorage.setItem('usertoken', jwt))
console.log('after exe ' + jwt)
The console log's are showing the token, so the variable is working inside of the beforeTesting action. Yet I'm getting the error '[0-0] Error in "BeforeTest Hook" javascript error: jwt is not defined'
The browser doesn't know the jwt variable. You should pass this value as the argument of the function as stated in the docs: https://webdriver.io/docs/api/browser/execute.html .
browser.execute((browser_jwt) => localStorage.setItem('usertoken', browser_jwt), jwt)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.