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.

Llamada a función de Cypress con varias opciones

Cypress.Commands.add(‘Login’, (env, username) => {
env(staging) = cy.visit(‘LINK’)
env(live) = cy.visit(‘LINK’)
username(practitioner1) = {
cy.get(‘input[name=”Parameter.UserName”]’).type(‘practitioner1’)
cy.get(‘input[name=”Parameter.Password”]’).type(‘pass’)
}

cy.contains('Login').click()

})

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que puede haber un error de sintaxis en el código, específicamente con el uso de los paréntesis y los signos de igual.

    Para llamar al comando Login desde otro archivo con diferentes argumentos, usarías la siguiente sintaxis: cy.Login('staging', 'practitioner1') o cy.Login('live', 'practitioner2').

    Asegúrate también de definir los parámetros env y username dentro del propio comando, de la siguiente manera:

    Cypress.Commands.add('Login', (env, username) => {
      let link;
    
      if (env === 'staging') {
        link = 'STAGING_LINK';
      } else if (env === 'live') {
        link = 'LIVE_LINK';
      }
    
      cy.visit(link);
    
      if (username === 'practitioner1') {
        cy.get('input[name="Parameter.UserName"]').type('practitioner1');
        cy.get('input[name="Parameter.Password"]').type('pass');
      } else if (username === 'practitioner2') {
        // ingresar nombre de usuario y contraseña para practitioner2
      }
    
      cy.contains('Login').click();
    });
    

    Ten en cuenta que deberás reemplazar STAGING_LINK y LIVE_LINK con las cadenas de URL correspondientes. Además, si hay más de dos valores posibles para env o username, es posible que desees considerar la refactorización de la función para usar sentencias switch o objetos para una mejor legibilidad y mantenibilidad.

Comments are closed.