对于我的一项Web服务测试,我需要读取一个xml文件并将其内容分配给cy.request主体。 我该如何实现? 我尝试了以下方法,但无法成功将XML传递给主体。 请让我知道。
例如:
cy.readFile('Desktop/Testing/W1.xml')
.then(text1 => {
console.log(text1);
cy
.request({
url: 'my URL',
method: 'POST',
body: {text1},
headers: {
'Authorization':'Basic ........',
'content-type': 'application/......-v1.0+xml',
'Accept':'application/...v1.0+json,application/....-v1.0+json'
}
})
.then((response) => {
assert.equal(response.status, 200, "status was 200");
cy.log("Response Body",response.body);
console.log("Response Body",response.body);
})
})
答案 0 :(得分:0)
我建议这样:
准备用于获取XML的功能
function fetchXML(text) {
return cy.request({
url: 'my URL',
method: 'POST',
body: text,
headers: { ... }
})
}
然后调用readFile
并传递给Promise回调结果
cy
.readFile('Desktop/Testing/W1.xml')
.then(text => fetchXML(text)) // or just .then(fetchXML)
.then(responseFromXML => { ... })
第二次回调您可以使用来自XML提取的响应
链接到有关Cypress.Promise
LINK