【发布时间】:2021-09-08 06:38:52
【问题描述】:
目标是遍历一个表并为每一行动态创建一个测试来验证其状态。表格示例:
知道Cypress Examples: Dynamic tests,但是,提供的示例地址迭代基本类型的静态列表(string、number)而不是收集JQuery<HTMLElement> 的子级。
行按带有 GUID 标签的第一列分组。下面的代码收集行标签包含特定的 GUID。添加的测试it() 的伪注入不起作用,我也不希望它会起作用,但这是我试图用特定的 GUID 测试每一行的状态:
it('TEST Iterate rows matching GUID', () => {
cy.fixture('esign').then($esignStore => {
expect($esignStore).to.have.property('requestUUID').to.be.a('string').not.empty;
cy.get('table[data-qa="act_ops_log_table"]').within(() => {
cy.log('Ops Logs table found');
cy.get('tbody[data-qa="act_ops_log_table_body"]').then(() => {
cy.get('tr');
cy.get('td');
cy.get('td:nth-child(1)').each(($tableCell, $index, $list) => {
const textEnvelope = $tableCell.text();
if (textEnvelope.includes($esignStore.requestUUID)) {
// pseudo-example of dynamically added test: start
// it(`TEST ${$index}`, () => {
cy.get('td:nth-child(3)')
.eq($index)
.then($field => {
const textStatus = $field.text();
expect(textStatus, 'succeeded');
});
// });
// pseudo-example of dynamically added test: end
}
});
});
});
});
});
方法赞赏。谢谢
【问题讨论】:
标签: cypress