我一直在使用TestCafe测试UI,我发现了一些奇怪的情况。
这是奇怪的情况。
// 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的具体信息,谁能告诉我这是我实际要做的事情?
谢谢
也许你可以像这样重写你的测试:
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命令行上设置显式超时:--selector-timeout and --assertion-timeout