Digamos que tengo un nombre de usuario variable.
Ahora, mi función encadenable quiere verificar si el nombre de usuario está vacío o no.
Antes:
if(username !== "") { cy.get('#username').type(username) }Después (Expectativa):
cy.get('#username').type(username).ifNotEmpty() //ifNotEmpty will be my chainable funcEntonces mi pregunta es ¿Es esto posible? ¿Si es así, entonces cómo?
Probablemente solo quieras hacer una variación .type()
Cypress.Commands.add('typeIfNotEmpty', { prevSubject: true }, (subject, textToType) => { if (textToType) { cy.wrap(subject).type(textToType) } return subject // allow further chaining }) cy.get('#username') .typeIfNotEmpty(username) .should(...) // some assertion on '#username' elementPuede agregar un comando Cypress personalizado para lograr esto. Estos se denominan child commands . Más información aquí.
Cypress.Commands.add('ifNotEmpty', { prevSubject: true }, (subject) => { // code })