¿Cómo puedo obtener la fecha en formato dd/mm/yyyy usando cy.clock() y poner la fecha en un campo de texto? He visto que la mayoría de los ejemplos obtienen la marca de tiempo, pero no necesito la hora. Solo necesito la fecha del día actual.
No quiero usar un comando personalizado aquí. Gracias
El cy.clock() se trata de controlar la fecha percibida de la aplicación.
De los ejemplos ,
Deje que la prueba se ejecute en una fecha determinada
const now = new Date(2017, 3, 14).getTime() // April 14, 2017 timestamp cy.clock(now) cy.visit('/index.html') cy.get('#date').contains('2017-04-14')Escribir en un campo con un formato determinado
Si desea .type() una cadena de fecha en particular, convierta con .toLocaleDateString()
const d = new Date() // current date // or const d = new Date(2017, 3, 14) // specific date cy.get('input').type(d.toLocaleDateString('en-GB')) // type in as 'dd/mm/yyyy'Combinando los dos, por ejemplo, probando la validación.
// Set clock to a specific date const now = new Date(2017, 3, 14).getTime() // April 14, 2017 timestamp cy.clock(now) cy.visit('/index.html') // Type in an earlier date const d = new Date(2017, 3, 13) cy.get('input').type(d.toLocaleDateString('en-GB')) .blur() // fire validation .should('contain', 'Error: Date entered must be a future date')Puede usar day.js para obtener la fecha actual y formatearla en consecuencia.
const dayjs = require('dayjs') //In test cy.log(dayjs().format('DD/MM/YYYY')) //Prints todays date 30/09/2021 cy.get('textfield').type(dayjs().format('DD/MM/YYYY')) //input today's date in DD/MM/YYYY formatMe tropecé con este hilo porque estaba buscando una forma de recuperar la "fecha actual" en la prueba. Entonces, para otras personas que buscan esto: en otro hilo encontré la respuesta:
cy.window().then((win) => { const newDate = new Date(win.Date()); // do something usefull with the date }