Ошибка при ожидании синхронизации транспортира со страницей - PullRequest
0 голосов
/ 28 июня 2018

У меня проблема с тестом в транспортире.

Мне нужно что-то вроде этого:

'Найдите iframe, щелкните по нему, а затем установите значение для ng-модели.'

Итак, мой код выглядит так:

browser.switchTo().frame(element(by.model('myModel')).getWebElement());
browser.findElement(by.className('testClass')).click();

var elm = element(by.model("myModel"));
elm.evaluate("fields.myModel = 'test';");

Но, к сожалению, у меня есть ошибка, как показано ниже:

Failed: Error while waiting for Protractor to sync with the page: 
"both angularJS testability and angular testability are undefined.  
This could be either because this is a non-angular page or because 
your test involves client-side navigation, which can interfere with 
Protractor's bootstrapping.  See http://git.io/v4gXM for details

Эта страница угловая, и я не знаю, как с ней справиться. Я не могу использовать 'browser.ignoreSynchronization = true', потому что тогда у меня есть ошибка, что угол не определен. Я также не могу обновить браузер, потому что тогда я теряю свой контент (он появляется после щелчка), поэтому я не знаю, как я могу это сделать.

Большое спасибо за любые советы.

1 Ответ

0 голосов
/ 28 июня 2018

Ифрамы и транспортир не ладят. Я использую browser.waitForAngularEnabled();, затем проверяю и переключаюсь обратно.
Пример:

browser.waitForAngularEnabled(false);
browser.switchTo().frame(iFrame)
//Do stuff inside iframe here. You should be treating this as a non angular page
browser.switchTo().defaultContent();
browser.waitForAngularEnabled(true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...