相关疑难解决方法(0)

多部分 formdata POST 请求在 Cypress 中对我来说不起作用

没有什么对我有用。如果我使用 cy.request(),我无法使用它发送包含文本和图像的表单数据。所以我必须走XHR路线。因此,在我的 command.js 中,我使用以下代码来创建命令:-

Cypress.Commands.add("formrequest", (method, url, formData, done) => {
  cy.window().then(win => {
    return new Promise((resolve, reject) => {
      const xhr = new XMLHttpRequest();
      xhr.open(method, url, false);
      xhr.setRequestHeader("accept", "application/json");
      xhr.setRequestHeader("access-token", accesstoken);
      xhr.setRequestHeader("client", client);
      xhr.setRequestHeader("expiry", expiry);
      xhr.setRequestHeader("token-type", tokentype);
      xhr.setRequestHeader("uid", uid);
      xhr.setRequestHeader("Accept-Encoding", null);
      xhr.onload = function() {
        done(xhr);
      };
      xhr.onerror = function() {
        done(xhr);
      };
      xhr.send(formData);
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

现在,当我调用它时,我将首先构造一个 BLOB,然后在我的 formdata 中使用它以稍后发送 XHR 请求。像这样: -

it.only("Test XHR", () => {
    cy.AppLogin();
    cy.fixture("/images/clients/Golden JPEG.jpeg", "binary").then(imageBin => {
      // File in binary …
Run Code Online (Sandbox Code Playgroud)

multipartform-data xmlhttprequest cypress

5
推荐指数
1
解决办法
5195
查看次数