0

.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, url, formData, function (response) {
        expect(response.status).to.eq(200);

      });
    })
  })
4

0 に答える 0