【问题标题】:Any function in testcafe that could test sorted columns in a table?testcafe 中的任何函数可以测试表中的排序列吗?
【发布时间】:2018-09-24 06:54:17
【问题描述】:

是否实现了任何功能来检查列是否按降序显示? 有一种情况是点击排序,即从 Z 到 A 排序 name/EmailId,然后列表应该按字母顺序从 Z 到 A 排序。

我可以使用 testcafe 应用任何策略吗?

【问题讨论】:

  • 您的任务似乎与 TestCafe 无关。在devexpress.github.io/testcafe/documentation/test-api 查看所有可用的测试 API。您将用于检查这一点的算法完全取决于您使用的表及其排序方法的实现。例如,如果你的桌子上有一个排序指示器,你可以检查它的状态。如果没有指标,您可以收集您的列数据,对其进行排序,然后将其与原始数据源进行比较。如果结果相同,数据将按照您希望检查的方式排序。
  • 如果您可以访问值,您只需确保每个下一个值始终小于前一个

标签: sorting testing automated-tests e2e-testing testcafe


【解决方案1】:

是的,“技术上”有很大的优势。

正如@alex-skorkin 所指出的,这并不是 TestCafe 特有的。
此答案基于@roman-eremin 的评论

如果您正在测试字符串...

await t.expect(cell <= compareCell).ok(); 测试升序
await t.expect(cell >= compareCell).ok(); 测试降序

如果您要测试数字...

await t.expect(cell).lte(compareCell); 测试升序
await t.expect(cell).gte(compareCell); 测试降序

完整的伪测试用例(用于字符串)

test('Should be Sorted ASC', async t => {
    const cellSelector = Selector('td[name="sortable-cell"]');
    const cellCount = await cellSelector.count;

    for (let i = 0; i < cellCount - 1; i++) {
        let cellText = await cellSelector.nth(i).innerText;
        let compareCellText = await cellSelector.nth(i + 1).innerText;

        await t.expect(cellText <= compareCellText).ok();
    }
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 1970-01-01
    • 2021-12-22
    • 2020-11-07
    相关资源
    最近更新 更多