.expect утверждения не работают при перемещении в функцию в модели страницы - PullRequest
1 голос
/ 11 апреля 2019

Замена .wait (8000) логикой, чтобы проверить, загрузилась ли страница внутри iframe, прежде чем мы нажмем, чтобы двигаться дальше. Когда код находится в тестах, он работает нормально. Я попытался переместить код в функцию в модели страницы, и щелчки преждевременны (то есть, как если бы значение .wait () было установлено слишком низким).

Я пытался разделить проверки на 2 разные функции с одинаковыми результатами.

в тесте

         .expect(navigation.appRowFadeIn.exists).ok({ timeout: 8000 });
    await t
         .switchToIframe(navigation.iframe)
         .expect(navigation.pageFrame.exists).ok({ timeout: 10000 });
    await t
         .switchToMainWindow()

в модели страницы

export class Navigation {

    constructor(
        public appRowFadeIn: Selector = Selector('.apps-row.fade-in'),
        public iframe: Selector = Selector('#app-runner'),
        public pageFrame: Selector = Selector('#page_frame')        

    ) { }

    async appnavigation() {
        await t
            .expect(Selector(this.appRowFadeIn).exists).ok({ timeout: 8000 });
        await t
            .switchToIframe(this.iframe)
            .expect(Selector(this.pageFrame).exists).ok({ timeout: 9000 });
        await t
            .switchToMainWindow()
    }

Ответы [ 2 ]

3 голосов
/ 12 апреля 2019

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

await navigation.appnavigation();

Спасибо.

3 голосов
/ 12 апреля 2019

Я думаю appnavigation должно быть:

async appnavigation() {
  await t
   .expect(this.appRowFadeIn.exists).ok({ timeout: 8000 });
  await t
   .switchToIframe(this.iframe)
   .expect(this.pageFrame.exists).ok({ timeout: 9000 });
  await t
   .switchToMainWindow()
}
...