¿Existe una forma sencilla de probar las llamadas a la API y probar la respuesta de esas llamadas? Por ahora nos quedamos atascados en una respuesta xml simple desde dentro de la respuesta misma. Nos gusta usar xpath (complemento de ciprés) para rastrear el xml como:
cy.request(`${DOCUMENT_FACADE}`).then((response) => { //response is a valid JSON and its body property holds a string (xml) cy.get(response.body).xpath("//*[name() = 'myName']") //this fails by "Not a DOM Object" //Then we tried to give it a DOM object var parser = new DOMParser(), doc = parser.parseFromString(response.body, 'text/xml'); cy.get(doc).xpath("//*[name() = 'myName']").should('have.length', 1) //fails with "expected undefined to have a length of 1 but got 0 });Tal vez nos equivocamos totalmente en esta parte tan importante de las pruebas, supongo.
Definitivamente necesita el DOMParser, de lo contrario, solo está cortando una cadena que xpath no funcionará muy bien.
Pero cy.get(doc) está usando el DOM como selector en la página cargada previamente (que no está cargada).
Puede hacerlo con cy.wrap(doc) , que envuelve todo el documento y lo pasa a .xpath() .
O es posible que primero deba extraer el cuerpo cy.wrap(doc).its('body').xpath() .