He estado buscando muchas soluciones de desbordamiento de pila, pero ninguna parece solucionar mi problema. Escribí el código en mis commands.js para poder usar los valores json que estoy tratando de extraer en mi conjunto de pruebas. Aquí está el código que estoy usando para hacerlo:
Cypress.Commands.add('setAuthToken', () => { cy.request('/this/is/my/jsonToken').then((res) => { cy.wrap(res.body.token).as('token') cy.get('@token').then((token) => { cy.log(token) }) }) })Sigue diciendo que el valor no está definido. Cuando consuelo log o cy log solo el "res.body", registra el objeto de cuerpo json correcto, pero tan pronto como trato de obtener una propiedad, se vuelve "indefinido". Cualquier sugerencia o ayuda es bienvenida.
Puede haber otros factores en juego, pero creo que el problema principal es que res.body se devuelve como una cadena y no como un objeto JSON. Simplemente puede analizar el objeto y luego debería poder ver el valor.
Cypress.Commands.add('setAuthToken', () => { cy.request('/this/is/my/jsonToken').then((res) => { cy.wrap(JSON.parse(res.body).token).as('token') cy.get('@token').then((token) => { cy.log(token) }) }) }) Nota: esta implementación solo resuelve su problema principal de tener res.body.token como indefinido. Es posible que no resuelva ningún problema sobre el almacenamiento y la referencia del valor más adelante. Sin más información en la búsqueda, no puedo proporcionar una sugerencia adecuada para eso.