使用 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')
使用 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')