Я думал, что Done заставит все работать синхронно, а это означает, что после того, как я нажму ссылку, щелчок по вызову произойдет после щелчка, видимо, не так, как это не работает.Транспортир, сделанный и ожидающий, зачем нам ждать?
browser.ignoreSynchronization = true;
var firstURL = "https://www.google.com/?gws_rd=ssl";
describe("test", function() {
browser.get("http://www.google.com");
it("Should be on google url", function() {
expect(browser.getCurrentUrl()).toBe(firstURL);
});
it("Should be able to type in text and click", function (done) {
var ele = element.all(by.name("q")).first();
ele.sendKeys("Protractor API");
ele.click().then(function() {
expect(true).toBe(true);
done();
});
});
it("Should be on new page", function (done) {
browser.driver.getCurrentUrl().then(function (url) {
debugger;
done();
});
});
});
GetCurrentUrl() внизу кода возвращает URL-адрес первой страницы. Как получить текущий URL-адрес, когда вижу, что он изменился в браузере из теста?