在页面对象中声明的断言在TestCafe的同一测试中被两次调用时的DOM Snapshot警告

问题描述

我已经在页面对象中声明了异步函数,该对象没有定义一些断言来验证页面上元素的存在,并且我必须在同一测试中两次调用此函数,但是我得到警告-“ 断言的“ t.expect()”方法的DOM快照属性”,即使我没有在t.expect()中使用await关键字。

请让我知道如何消除此警告。

fixture('Assertions in Page Object test suite').beforeEach(async t => {
  await t.useRole(login);
});

test('Validate UI for sample page,async t => {
  await pageObject.validateTableUI(t);
  await t.click(pageObject.changeTab); 
  await pageObject.validateTableUI(t);
});

Page对象的方法是:

export default class SamplePage {
constructor() {
this.table = Selector('table');
this.tableHeaders = Selector('table thead th);
this.changeTab = Selector('tab);
}

async validateTableUI(t){
await t
      .expect(this.table.visible)
      .ok()
      .expect(this.tableHeaders.visible)
      .ok()
      .expect(this.tableHeaders.nth(1).textContent)
      .contains('Column 1')
      .expect(this.tableHeaders.nth(2).textContent)
      .contains('Column 1');
}

解决方法

不幸的是,没有官方的方法可以禁用这些警告。我们知道此错误。您可以在this GitHub thread中跟踪我们的进度。

作为一种临时解决方法,您可以按以下方式重写.expect调用:

.expect(
    this.table.visible
)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...