cypress.io:如何读取XML文件并将内容分配给cy.request(body)

时间:2019-02-05 19:14:08

标签: cypress

对于我的一项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);
    })
 })

1 个答案:

答案 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

的文档