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.

La función devuelve [object object] en lugar de una cadena de texto Cypress.

Deseo tener una única función para obtener el valor de texto dinámico de la aplicación.

La función getStartDate() devuelve "[object object]" al llamarla desde la función getDate() mientras que cy.log(mon...) desde getStartDate() devuelve la fecha correcta en formato de cadena. Además, cy.wrap(mom...) envuelve una fecha correcta en formato de cadena.

   getStartDate(){
         return cy.get('[data-placeholder="Select time range (from)"]').invoke('val').then($da=>{
              cy.log(moment($da,'DD.MM.YYYY HH:mm:ss').format('DD.MM.YYYY HH:mm:ss')+"------------------")  //  devuelve "03.01.2022 11:10:00"
               return cy.wrap(moment($da,'DD.MM.YYYY HH:mm:ss').format('DD.MM.YYYY HH:mm:ss').valueOf()) ;Text   // devuelve "03.01.2022 11:10:00"

            })
        }

Llamando a la función:

     getDate(){
        cy.log(this.getStartDate().toString()+"------------") // devuelve [object object]
        }

Por favor, avíseme cómo obtener el valor de getStartDate() llamándolo en toda la aplicación.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para obtener el valor de texto dinámico de la función getStartDate(), puedes modificarla para que devuelva directamente la cadena formateada sin utilizar cy.wrap().

    Aquí está la función getStartDate() actualizada:

    getStartDate() {
      return cy.get('[data-placeholder="Select time range (from)"]')
        .invoke('val')
        .then(date => {
          const formattedDate = moment(date, 'DD.MM.YYYY HH:mm:ss').format('DD.MM.YYYY HH:mm:ss');
          cy.log(formattedDate + "------------------"); // registra la fecha correcta
          return formattedDate; // devuelve la fecha formateada como cadena
        });
    }
    

    Y en tu función getDate(), simplemente puedes llamar a la función getStartDate() y utilizar el valor devuelto:

    getDate() {
      this.getStartDate().then(date => {
        cy.log(date + "------------"); // registra la fecha correcta
      });
    }
    

    Ahora, cada vez que llames a la función getDate(), registrará correctamente el valor de la fecha devuelto por getStartDate().

Comments are closed.