TestCafe, кажется, не работает комбинация "ожидай + существует + хорошо" (или не хорошо) - PullRequest
1 голос
/ 22 марта 2019

Я тестировал пользовательский интерфейс с использованием TestCafe и обнаружил для меня странную ситуацию.

Вот странный случай.

// it's passed because I expected...
.expect(
  Selector('.v-menu__content.menuable__content__active')
    .find('.v-list__tile.v-list__tile--link')
    .withText(label).exists
)
.notOk('check')

// but this is passed too though this should fail
.expect(
  Selector('.v-menu__content.menuable__content__active')
    .find('.v-list__tile.v-list__tile--link')
    .withText(label).exists
)
.ok('check')

Здесь я использовал await для этой проблемы.

// it was not passed!!! => Yay!
.expect(
  await Selector('.v-menu__content.menuable__content__active')
    .find('.v-list__tile.v-list__tile--link')
    .withText(label).exists
)
.ok('check')

Я не смог найти конкретную информацию от GitHub , кто-нибудь может мне сказать, это то, что я должен делать на самом деле?

Спасибо

1 Ответ

2 голосов
/ 22 марта 2019

Может быть, вы могли бы переписать свой тест так:

const labelSelector = 
  Selector('.vmenu__content.menuable__content__active')
    .find('.v-list__tile.v-list__tile--link')
    .withText(label);

await t
  .expect(labelSelector.exists)
  .notOk({timeout: 30000});

await t
  .expect(labelSelector.exists)
  .ok({timeout: 30000}); // should fail

Вы также можете установить явные таймауты в командной строке TestCafe: - время выбора селектора и --assertion-timeout

...