I am just trying to run a simple test using selenium with chai library for assertion. Webdriver executes a script to set a token for login. I can see on the UI that it login fine but the test fails on the assertion with web element status being promise pending. Any idea what am i missing here. thanks!
Here is the piece of code
const {Builder, By, Key, until} = require('selenium-webdriver');
let chai = require('chai');
let expect = chai.expect;
require('chromedriver');
(async function example() {
let driver = await new Builder().forBrowser('chrome').build();
await driver.get('http://localhost:4200/login');
driver.executeScript('window.localStorage.setItem("token", "xyz");');
driver.executeScript('window.localStorage.setItem("lastAction", "' + Date.now() + '");');
await driver.wait(until.titleIs('XXXX'), 1000);
expect(driver.findElement(By.id('welcome-header')).getText()).to.equal('ZZZZZ');
})();
And below is the error what i get
expect(driver.findElement(By.id('welcome-header')).getText()).to.equal('ZZZZZ');
^
AssertionError: expected {} to equal 'ZZZZZ'
at example (******e2e-spike-copytestslogin_test_copy.js:13:74)
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
showDiff: true,
actual: Promise { <pending> },
expected: 'ZZZZZ',
operator: 'strictEqual'
}