Транспортир - переключение с неугловой страницы на угловую: «Ошибка при ожидании синхронизации Транспортира со страницей» - PullRequest
0 голосов
/ 08 марта 2019

Я использую Protractor для тестирования приложения, состоящего из 3 компонентов:

  1. OpenAM компонент неуглового входа,
  2. Неугловой компонент приложения,
  3. Угловой компонент приложения.

Сначала я захожу, используя компонент OpenAM. Перед входом в систему я включаю browser.waitForAngularEnabled(false), потому что в противном случае я получаю ошибку Angular could not be found on the page, что вполне разумно. Затем я выполняю некоторые шаги в неугловом компоненте приложения, и они выполняются без ошибок, хотя я не включаю browser.waitForAngularEnabled(false) ни в код шага, ни в файл conf.

Затем, используя ссылку внутри неуглового компонента приложения, я перехожу к угловому компоненту приложения, который открывается в новой вкладке браузера, и здесь все чертовски разрушается. Элементы на странице не найдены, даже при использовании ожидания, сна и т. Д., Поэтому я попытался использовать browser.waitForAngularEnabled(true), но когда я это сделал, я получил

Ошибка при ожидании синхронизации транспортира со страницей: «оба angularJS тестируемость и угловая тестируемость не определены ".

Интересно то, что при переходе непосредственно к компоненту углового приложения со страницы входа в систему OpenAM таких проблем не возникает, и все шаги выполняются просто отлично.

Вот логин:

 export class LoginPage {
  public async loginUsingCredentials(user, pass) {
    browser.waitForAngularEnabled(false);
    await browser.get(config.baseUrl);
    await username.sendKeys(user);
    await password.sendKeys(pass);
    await signIn.click();
  }

}

Он выполняется как крючок BeforeAll.

Другие тестовые этапы не имеют значения для публикации здесь.

Важно то, что если я перейду непосредственно к компоненту углового приложения, используя browser.get('example:8080/angularapp'), все шаги будут выполнены без ошибок. Но если я сначала перейду к основному компоненту приложения browser.get('example:8080'), выполнив несколько шагов, а затем перейду к угловому компоненту по ссылке, я получу ошибки, как описано выше.

В обоих случаях шаги теста для углового компонента одинаковы. Также в обоих случаях мне нужно сначала войти в систему, используя OpenAM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...