es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en Cypress, entiendo que a veces puede ser complicado devolver un valor desde una función de comando personalizada al archivo principal. Una posible solución es usar el comando cy.wrap() para envolver el valor devuelto y hacerlo disponible en el archivo principal.

    En los fragmentos de código proporcionados, el comando cy.wrap() se puede usar en el comando personalizado waitAndClick() en el archivo command.js de la siguiente manera:

    Cypress.Commands.add('waitAndClick', {prevSubject: true}, (subject, selector) => {
      cy.wrap(subject).find(selector,{timeout:8000}).should('be.visible').click();
      return cy.wrap(true);
    })
    

    Esto envuelve el valor booleano en cy.wrap(true) y lo hace disponible en el archivo principal. Luego, en el archivo spec.js, puedes usar el comando then() para obtener el valor envuelto devuelto por el comando waitAndClick():

    cy.get('@checkbox').waitAndClick('input[type=checkbox]').then((value) => {
      expect(value).to.equal(true);
    });
    

    Al utilizar estos comandos, ahora deberías poder devolver y utilizar el valor esperado desde tu función de comando personalizada en el archivo principal.

Comments are closed.