Многочастный запрос POST форматы данных просто не работает в Cypress для меня

Я только что написал что-то, чтобы что-то описать по намерениям авторов. Я нашел, что лучше всего было бы позволить конструктору взять все объекты, а затем в реализованном методе использовать объекты-конструкторы.

Однако, если вы пишете общий класс интерфейса, вам необходимо передать объект или лучше список объектов. Это может быть сделано Object [] или даже лучше, Object ... потому что его легче вызвать.

См. Мою часть примера чуть ниже.

List lst = new ArrayList();
lst.add("1");
lst.add("2");        

SomeAbstractClass p = new SomeAbstractClass (lst, "another parameter", 20, true) {            

    public void perform( ) {                           
        ArrayList lst = (ArrayList)getArgs()[0];                        
    }

};

public abstract class SomeAbstractClass{    
    private Object[] args;

    public SomeAbstractClass(Object ... args) {
        this.args = args;           
    }      

    public abstract void perform();        

    public Object[] getArgs() {
        return args;
    }

}

Пожалуйста, смотрите это сообщение о закрытии Java, которое поддерживает это из коробки: http://mseifed.blogspot.se/2012/09/closure-implementation-for-java-5-6-and.html

Версия 1 поддерживает передачу нефинальных замыканий с автозапуском: https://github.com/MSeifeddo/Closure-implementation-for-Java-5-6-and-7/blob/master/ org / mo / close / v1 / Closure.java

    SortedSet sortedNames = new TreeSet();
    // NOTE! Instead of enforcing final, we pass it through the constructor
    eachLine(randomFile0, new V1(sortedNames) {
        public void call(String line) {
            SortedSet sortedNames = castFirst();  // Read contructor arg zero, and auto cast it
            sortedNames.add(extractName(line));
        }
    });

2
задан VinodGulia 4 March 2019 в 08:30
поделиться

1 ответ

Спасибо, Эрик. Это работает для меня, следуя советам и инструкциям Эрика, упомянутым на github.com/javieraviles/cypress-upload-file-post-form

Cypress.Commands.add(
  "Post_Clients",
  (imagePath, imageType, attr1, attr2, attr1Val, done) => {
    cy.fixture(imagePath, "binary").then(imageBin => {
      Cypress.Blob.binaryStringToBlob(imageBin, imageType).then(blob => {
        const xhr = new XMLHttpRequest();
        xhr.withCredentials = true;
        const data = new FormData();
        data.set(attr1, attr1Val);
        data.set(attr2, blob);
        xhr.open("POST", "https://api.teamapp.myhelpling.com/admin/clients");
        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.onload = function() {
          done(xhr);
        };
        xhr.onerror = function() {
          done(xhr);
        };
        xhr.send(data);
      });
    });
  }
);


it.only("API POSTing TEST", () => {
    cy.Post_Clients(
      "/images/clients/Golden JPEG.jpeg",
      "image/jpeg",
      "client[name]",
      "client[client_logo_attributes][content]",
      "Test Attr 1 Value is Hi!!!",
      response => {
        cy.writeFile(
          "cypress/fixtures/POST API OUTPUT DATA/Client.json",
          response.
        );
        expect(response.status).to.eq(201);
      }
    );
  });
0
ответ дан VinodGulia 4 March 2019 в 08:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: