微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在页面对象中声明的断言在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
)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。