如何使用FORM数据在cypress中上传.xsls文件

问题描述

请这里的任何人都可以帮助我上传 .xls 文件代码。 如您所见,我想使用“表单”数据发送此 POST 方法。但是得到 401 unauthorize 并且我也不知道如何发送“表单”数据来上传 .xsls 文件

My code :-

commands.js:-

Cypress.Commands.add('form_request',(method,url,formData,done) => {


  const token = "eyJhbGciOiJIUzI1NiIsIn"
  const xhr = new XMLHttpRequest();

  xhr.open(method,url);

  xhr.setRequestHeader(
    "authorization","bearer" + token
  )

  xhr.onload = function () {
      done(xhr);
  };

  xhr.onerror = function () {
      done(xhr);
  };

  xhr.send(formData);
})

spec.js

it('API',() => {

    //Declarations
    const fileName = 'msylp.xlsx';
    const method = 'POST';
    const url = '/StarReportFile/upload';
    const fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';

    // Get file from fixtures as binary
    return cy.fixture(fileName,'binary').then(Cypress.Blob.binaryStringToBlob).then((blob) => {

      // File in binary format gets converted to blob so it can be sent as Form data
      const formData = new FormData();
      formData.set('file',blob,fileName); //adding a file to the form
      formData.set('starReportFile','(binary)')
      formData.set('starReportFileUploadviewmodel','{"fileType":1}')

      cy.form_request(method,function (response) {
        expect(response.status).to.eq(200);

      });
    })
  })

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...