Solo estoy tratando de ejecutar una prueba simple usando selenio con la biblioteca chai para la afirmación. Webdriver ejecuta un script para establecer un token para iniciar sesión. Puedo ver en la interfaz de usuario que inicia sesión bien, pero la prueba falla en la afirmación con el estado del elemento web pendiente de promesa. Cualquier idea de lo que me estoy perdiendo aquí. ¡Gracias!
Aquí está la pieza de código
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'); })();Y debajo está el error que obtengo
expect(driver.findElement(By.id('welcome-header')).getText()).to.equal('ZZZZZ'); ^ AssertionError: expected {} to equal 'ZZZZZ' at example (******\e2e-spike-copy\tests\login_test_copy.js:13:74) at processTicksAndRejections (node:internal/process/task_queues:96:5) { showDiff: true, actual: Promise { <pending> }, expected: 'ZZZZZ', operator: 'strictEqual' }driver.findElement() es una función asíncrona, por lo que debe await a que se resuelva, tal como lo hace con otras cosas.