Angular e2e не ищет тег до истечения времени ожидания после маршрута - PullRequest
0 голосов
/ 22 мая 2019

Я только начал учиться писать тесты e2e.Я делаю несколько тестов на первой странице, и все работает хорошо (заголовок, текст тега h1, количество карточек на странице).У меня есть кнопки на карточках на первой странице для поворота на другую страницу.Я нахожу это методом buttonText и делаю .click().Он вращает вторую страницу, как я хочу.Но после этого процесса я пытаюсь проверить текст h1 на второй странице.Но это не работает, и я получаю ошибку тайм-аута.где я виноват?Вот часть моего кода:

app-e2e-spec.ts;

    it('should go to measures page', ()=>{
        expect(page.goToMeasuresPage()).toEqual("Measures");
    });

app.po.ts;

    goToMeasuresPage() {
        this.clickShowMoreButton(); //a function to expand card for show buttons
        let button = element(by.buttonText("Measures"));
        button.click();
        let headline = element(by.css(".container .header h1")).getText();
        return headline;
     }

html второй страницы;

    <div class="container">
        <div class="header">
            <app-back-button></app-back-button>
            <h1>{{ 'MEASURES' | translate }}</h1> //this pipe returns "Measures" text
        </div>
    </div>

Ответы [ 2 ]

1 голос
/ 22 мая 2019

После каждого действия в пользовательском интерфейсе транспортир проверяет угловое свойство на вашем сайте, чтобы убедиться, что страница стабильна (то есть все изменения и загрузка завершены на странице).

Эта проблема вызвана тем, что транспортир обнаруживает, что угловая страница не стабилизировалась после действия поворота. Вы можете попытаться увеличить время ожидания по умолчанию в вашей конфигурации, чтобы дать приложению больше времени для загрузки:

//30 second timeout
allScriptsTimeout: 30 * 1000

Если вы по-прежнему получаете тайм-аут, в вашем приложении может быть какое-то действие опроса, которое не позволяет Angular распознавать, что оно завершило загрузку. Смотрите эту тему для дополнительной информации

0 голосов
/ 22 мая 2019

Добавьте следующую строку после назначения let headline в goToMeasuresOage

browser.wait(ExpectedConditions.presenceOf(headline))

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