Страница входа не является страницей angular, и когда пользователь входит в систему, он / она перенаправляется на домашнюю страницу. На домашней странице используется angular.
Для входа в систему я использовал
browser.ignoreSynchronization = true;
var loginTxt = browser.driver.findElement(by.id("userNameInput"));
var pwdTxt = browser.driver.findElement(by.id("passwordInput"));
var signInBtn = browser.driver.findElement(by.id("submitButton"));
loginTxt.sendKeys("test1");
pwdTxt.sendKeys("password!");
signInBtn.click();
Пользователь успешно вошел в систему, я использовал следующий код для взаимодействия с элементом в домашняя страница.
browser.ignoreSynchronization = false;
var el = element(by.className("btn item-desktop-only inactive-btn"))
el.click();
Код ошибки: Сообщение: Сбой: Ошибка при ожидании синхронизации транспортира c со страницей: «Обе проверки angularJS и angular не определены Это может быть связано либо с тем, что это страница, отличная от angular, либо с тем, что ваш тест включает в себя навигацию на стороне клиента, которая может помешать загрузке Protractor. Подробнее см. http://git.io/v4gXM "
Когда я удаляю
browser.ignoreSynchronization = false;
, я получаю сообщение об ошибке:
Message:
Failed: No element found using locator: By(css selector, .btn.item-desktop-only.inactive-btn)
Stack:
NoSuchElementError: No element found using locator: By(css selector, .btn.item-desktop-only.inactive-btn)
HTML IS:
<button _ngcontent-vsd-c3="" class="btn item-desktop-only inactive-btn" type="button" ng-reflect-klass="btn item-desktop-only" ng-reflect-ng-class="[object Object]"><img _ngcontent-vsd-c3="" class="orders-icon" src="/assets/icons/orders-inactive.png" srcset="/assets/icons/orders-inactive@2x.png 2x,/assets/icons/orders-inactive@3x.png 3x"> Orders </button>