Bevor ich die Seite erreichen kann ich zum ersten MalProtractor: Nicht Winkel Jetzt Winkel Website
var url = 'http://localhost:9999/login?usern=bar';
browser.driver.get(url);
ein Login (Nicht-Winkel-) Seite besuchen müssen getestet werden zwar, dass eine nicht-Winkel Seite ist, vorbei Der ?usern=bar
in der URL der Server gibt einen HTTP-CODE von 302 und leitet auf die Seite /new-user
um. Im Inneren der new-user
Seite muss ich auf eine Schaltfläche klicken, bevor ich Test
beginnen kann, aber was ich bekomme ich immer
Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
Es ist etwas falsch in meinem Fluss, weil ich die new-user
Seite sehen kann, aber die Taste nicht angeklickt (und noch lange nach, dass die Fehler erscheinen)
die spec-Datei:
var Site = require('helper/site');
describe('Main', function {
beforeAll(function() {
return Site.login();
});
it('should show the main page', function() {
epect(browser.getCurrentUrl()).toMatch(/\/main/);
});
});
Site.js :
function login() {
browser.driver.get('http://localhost:9999/login?usern=bar');
browser.driver.wait(function() {
return browser.driver.getCurrentUrl().then(function (url) {
return /\/new-user/.test(url);
});
});
element(by.css('.save')).click();
}
module.exports = {
login: login
};
Jede Hilfe wäre
Das ist viel besser! Jetzt navigiert es zur Hauptseite. Aber dann bekomme ich immer noch den gleichen Timeout-Fehler. Wenn ich jedoch den browser.ignoreSynchronization = false entferne, wird der Test abgeschlossen. Irgendwelche Vorschläge, warum das passiert? –
@JeanlucaScaljeri hm, was ist, wenn Sie 'browser.waitForAngular()' hinzufügen, wenn Sie auf der Hauptseite sind? Vielen Dank. – alecxe
'browser.waitForAngular()' bricht es nicht, sobald ich 'browser.ignoreSynchronization = false;' (auch in Kombination mit waitForAngular) hinzufüge, wird der Test nicht ausgeführt, und es wird ein Timeout ausgelöst –