使用 Cypress 解析 soap 响应

parsing soap response using Cypress

使用 cypress 解析此响应时遇到问题,

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <soapenv:Header/>
        <soapenv:Body>
          
                    <p385:summaryOutputArray xmlns:p385="http://dataobject.simulation.com">
                        <p385:userName>MS</p385:userName>
                        
                    </p385:summaryOutputArray>
        </soapenv:Body>
    </soapenv:Envelope>

    

使用赛普拉斯如何读取用户名标签?我可以在日志中看到整个 xml 已打印但无法到达特定标签。此外,在使用函数获取特定标签以获取值时,我得到的是 null 属性

首先我用这个。这是给出错误。 属性 读空

const parser = new DOMParser();
const xmlDOM = parser.parseFromString(quoteResp, 'text/xml');
cy.log('xmlDOM ' + quoteResp.);
cy.wrap(Cypress.$(quoteResp)).then(quoteResp => {
const txt  = quoteResp.filter('Body').find('p385:userName').text();

 cy.log('value:' + txt);
 });

使用这个我可以在日志中看到整个响应

then(quoteResp => {cy.log('xmlDOM ' + quoteResp.body);

不需要包装响应,只需像这样查询xmlDOM

const xmlDOM = parser.parseFromString(quoteResp, 'application/xml');
const userName = xmlDOM.querySelector('userName').textContent

expect(userName).to.eq('MS')