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.

¿Cómo acceder a un registro específico de un archivo fixture/*.json en un caso de prueba específico en Cypress?

testdata.json


[
{
"case_id": 1,
"case": "Iniciar sesión con datos válidos como mayorista",
"username": "admin",
"password": "password",
"result": "éxito"
},
{
"case_id": 2,
"case": "Iniciar sesión con datos válidos como revendedor",
"username": "myreseller.admin",
"password": "password",
"result": "éxito"
},
{
"case_id": 3,
"case": "Iniciar sesión con datos válidos como suscriptor",
"username": "mytenant.admin",
"password": "password",
"result": "éxito"
}
]

login.spec.js


before(() => {
cy.fixture('testdata').then((datajson) => {
testdata = datajson
return testdata
})
})
-------bloques it-------
it.only('TC03 - Iniciar sesión con datos válidos como suscriptor', () => {
cy.login(testdata[2].username, testdata[2].password);
cy.title().should('equal', 'Inicio');
cy.logout();
-------más bloques it-------

Cómo usarlo correctamente para que la línea 2 devuelva
{testdata.username = mytenant.admin || testdata.password = password}
obteniendo específicamente el registro 3

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para obtener el nombre de usuario y la contraseña específicamente del tercer registro del archivo testdata.json, puede modificar la línea 2 del archivo login.spec.js de la siguiente manera:

    before(() => {
      cy.fixture('testdata').then((datajson) => {
        testdata = datajson[2] // selecciona el tercer registro en el arreglo
        return testdata
      })
    })
    

    Esto establecerá el valor de testdata como el tercer registro en la matriz JSON, que contiene los detalles de inicio de sesión para un suscriptor. Luego, en el bloque it donde desea usar estos detalles, puede acceder a ellos utilizando las propiedades testdata.username y testdata.password, de esta manera:

    it.only('TC03 - Inicio de sesión con datos válidos como suscriptor', () => {
      cy.login(testdata.username, testdata.password)                            
      cy.title().should('equal', 'Inicio')
      cy.logout()
    })
    

    Esto iniciará sesión utilizando los valores de nombre de usuario y contraseña del tercer registro del archivo testdata.jsony realizará las pruebas necesarias en la página.

Comments are closed.