Я использую Транспортир. Theres этот тест я пишу: я жду появления элемента. Когда он появится, я бы хотел его щелкнуть. Поэтому я сделал это:
it("Test", () => {
let k: p.ElementFinder = element(by.className("gift-back"));
browser.wait(() => {
let promise = k.isPresent().then((isPresent: boolean) => {
console.log(isPresent);
return isPresent;
});
return promise;
});
k.click();
Проблема в том, что элемент, который я ожидаю появиться (элемент с подарочной поддержкой класса), является элементом ng-if. Таким образом, этот элемент не находится в DOM все время, и этот тест на самом деле не работает. Помощь или warkaround высоко ценится!
Существует встроенное ожидаемое условие для проверок "присутствия", попробуйте:
var EC = protractor.ExpectedConditions;
var elm = element(by.className("gift-back"));
browser.wait(EC.presenceOf(elm), 5000); // wait up to 5 seconds