Ich habe die folgende Funktion für die Anmeldung, die "erfolgreich" auf Erfolg und "Failed" für Dateien Konsolen trösten würde.Protractor Javascript nicht in der Reihenfolge ausgeführt
function login() {
return new Promise(function (resolve, reject) {
var username = element(by.name('txtLogin'));
var password = element(by.id('txtPassword'));
var signInButton = element(by.id('btnSignIn'));
for (var i = 0; i < testData.length; i++) {
if (testData[i].env === appConfig) {
username.sendKeys(testData[i].user);
password.sendKeys(testData[i].pass);
signInButton.click();
console.log("Successfully Clicked on the Sign In Button!");
break;
}
}
browser.getTitle().then(function (title) {
if (title == "Page Title") {
resolve("Successfull");
} else {
reject("Failed");
}
});
});
};
und der folgende Test
describe('Login Scenarios', function() {
beforeEach(function() {
login();
});
it('Valid Credentials, Should login successfully from util class', function() {
console.log('Successfully logged in!');
});
});
ich hier sehr seltsames Verhalten sehe. Diese Zeile führt aus und konsolisiert die Ausgabe, noch bevor die Seite vollständig geladen ist.
console.log("Successfully Clicked on the Sign In Button!");
und der untenstehende Code wird nie ausgeführt.
browser.getTitle().then(function (title) {
if (title == "Page Title") {
resolve("Successfull");
} else {
reject("Failed");
}
});
Und am Ende sehe ich den folgenden Fehler.
failed: error while waiting for protractor to sync with the page: "cannot re ad property '$$testability' of undefined"
Ich bin mir ziemlich sicher, ich habe hier etwas versaut. Aber unfähig herauszufinden, was hier falsch ist.