Estoy tratando de reutilizar una variable o un alias en varias definiciones de pasos en mi prueba Cypress/Cucumber.
Declaración de variables y definición del primer paso:
let assetName = ''; And('I click on the button', (view) => { if (view === 'Grid') { homePage.getAssetName().first().then($el => { assetName = $el.text(); }).click(); } });Definición del segundo paso:
And('I verify something', (view) => { cy.get('.ItgAssetDetails-name').should('have.text', + assetName); });Pero me sale el siguiente mensaje de error:
esperaba que <p.ItgAssetDetails-name> tuviera el texto NaN, pero el texto era Lenses System
También intenté asignar un alias $el.text() , pero tampoco funcionó.
¿Puede alguien mostrarme qué cambios se requieren para pasar este valor entre definiciones de pasos?
Es probable que su problema sea un error tipográfico, ya que está llamando a .should('have.text', + assetName) . El + es un operador unario que intenta convertir su cadena en assetName en un número y le da NaN
console.log(+"Hello there") Solo quita el +
.should('have.text', assetName)