Я новичок в транспортире, и я пытаюсь выполнить тест e2e. Я не знаю, правильно ли это сделать, но... Страница, которую я хочу проверить, не является полной страницей angular, поэтому... У меня проблемы.
В моей первой спецификации я:
describe('should open contact page', function() {
var ptor = protractor.getInstance();
beforeEach(function(){
var Login = require('./util/Login');
new Login(ptor);
});
Я создал этот класс Login, но после входа в систему я хочу открыть страницу контакта, но транспортир немедленно попытается найти элемент до того, как страница будет полностью загружена.
Я пытался использовать:
browser.driver.wait(function() {
expect(browser.findElement(by.xpath("//a[@href='#/contacts']")).isDisplayed());
ptor.findElement(by.xpath("//a[@href='#/contacts']")).click();
});
Но он не работает... он всегда пытается найти элемент до загрузки страницы. Я тоже пробовал:
browser.driver.wait(function() {
expect(ptor.isElementPresent(by.xpath("//a[@href='#/contacts']")));
ptor.findElement(by.xpath("//a[@href='#/contacts']")).click();
});
Я могу сделать это с помощью browser.sleep();
, но я не думаю, что это хороший вариант. Есть идеи? В моем классе входа у меня есть:
ptor.ignoreSynchronization = true;
Как я могу ждать этого @href='#/contacts
, прежде чем транспортир попытается щелкнуть по нему?