Ich habe Code ähnlich wie diese:Gibt es eine Möglichkeit, das Senden von Daten an eine Benutzeroberfläche mit Protractor zu optimieren/beschleunigen?
ExamPage.prototype.enterDetailsInputData = function (modifier) {
page.sendKeys(this.modalExamName, 'Test Exam ' + modifier);
page.sendKeys(this.modalExamVersionId, 'Test exam version ' + modifier);
page.sendKeys(this.modalExamProductVersionId, 'Test exam product version ' + modifier);
page.sendKeys(this.modalExamAudienceId, 'Test exam audience ' + modifier);
page.sendKeys(this.modalExamPublishedId, '2014-06-1' + modifier);
page.sendKeys(this.modalExamPriceId, '100' + modifier);
page.sendKeys(this.modalExamDurationId, '6' + modifier);
};
Hier ist die page.sendKeys Funktion. Beachten Sie, dass dies derzeit keine Versprechen oder ähnliches zurückgibt. Ist die Funktion nicht gut, dann codiert Ich begrüße Kommentare:
// page.sendkeys function
sendKeys(id: string, text: string) {
element(by.id(id)).sendKeys(text);
}
Ich beobachte, wie es füllt sich langsam jedes Feld auf meinem Bildschirm und dann wiederholt er immer wieder in mehr Tests, die folgen.
Gibt es irgendeine Möglichkeit, dass dies optimiert werden könnte oder muss ich warten, bis ein Feld nach dem anderen gefüllt ist und mit Tests leben muss, die lange dauern?
Ich nehme an, sendKeys ist Versprechen basiert. Könnte ich zum Beispiel AngularJS $ q verwenden, um alle sendKeys gleichzeitig auszugeben und dann $ q zu verwenden, um auf sie zu warten?
Welchen Browser verwenden Sie Sie? Oder hängt es tatsächlich vom Browser ab? – alecxe
Ich verwende momentan den Chrome-Browser, aber ich nehme an, dass es bei allen Browsern gleich ist. Die Tests werden langsam ausgeführt, da jedes Feld einzeln ausgefüllt wird. Das Problem ist, ich habe viele Felder ausgefüllt und meine Testsuite dauert länger und länger. –
Eine Option könnte sein, die Mock-Modul-Funktionalität des Winkelmessers zu verwenden, so dass Ihr Controller bereits die Werte an den Bereich gebunden hat. Dadurch wird das Ausfüllen des Formulars jedes Mal vermieden, wenn – scarlz