要使CodeceptJS/Puppeteer自定义助手能够看到表格(td tr),可以使用以下代码示例:
在自定义助手文件中,您可以编写一个等待表格出现的辅助函数。这个函数将使用Puppeteer的page对象来等待表格元素的出现。
const { I } = inject();
module.exports = function() {
return actor({
// 等待表格出现的辅助函数
waitForTable: async function(tableSelector) {
const page = this.helpers['Puppeteer'].page;
await page.waitForSelector(tableSelector);
await page.waitForFunction((tableSelector) => {
const table = document.querySelector(tableSelector);
return table && table.querySelectorAll('tr td').length > 0;
}, {}, tableSelector);
},
});
};
然后,您可以在测试中使用这个自定义助手函数来等待表格的出现。例如:
Feature('测试表格');
Scenario('测试表格是否可见', (I, CustomHelper) => {
I.amOnPage('https://example.com');
CustomHelper.waitForTable('#myTable'); // 等待表格出现
// 在表格可见后执行其他断言或操作
I.seeElement('tr td');
});
在这个示例中,waitForTable辅助函数将等待具有指定选择器的表格出现,并且表格中的至少一个td元素可见。然后,您可以在测试中使用waitForTable函数来等待表格的出现,并在表格可见后执行其他断言或操作。