使用testCafe执行数据驱动测试的文档?

问题描述 投票:5回答:2

数据驱动测试是为任何工具编写自动化测试用例的重要方面。我最近一直在测试testcafe,但没有找到一种令人信服的方式来进行数据驱动的测试,即对不同的输入执行测试。

我遇到了以下示例:https://testcafe-discuss.devexpress.com/t/multiple-execution-of-one-test-with-different-data/219但是在上面的示例中,我们正在处理不同的登录用户名作为输入。如果我设想必须检查页面上是否显示元素列表的情况,那么我肯定会采取一些步骤进行验证。在这种情况下,我可能不想在每次传递新输入时都执行引导步骤。在上面的示例中,输入看起来像是在测试用例级别而不是在测试步骤级别,因为我们将测试用例放在for循环中,因此无论我是否要重复它们,所有验证/导航点都将执行

因为我是testcafe的新手,并且遍历分散的文档,所以我的问题是-对于数据驱动的测试,这是我们在测试咖啡馆中唯一的方法吗?还是在testcafe中有更令人信服的,非冗长的方法-如果是的话,有人可以向我指出该文档吗?

automated-tests e2e-testing testcafe web-testing data-driven-tests
2个回答
3
投票

数据驱动测试的主要概念是,您传递一些包含参数的数据,然后将期望的值测试到该参数。

Multiple execution of one test with different data主题注释中提供的示例是一个很好的起点:

const users = [
    { login: 'System', password: 'System' }, { login: 'Admin', password: 'Admin' }
]
for (let i = 0; i < users.length; i++) {
    let user = users[i];    test(`Login with user '${user.login}'`, async t => {
        await t.typeText(page.login.userEdit, user.login);
        // ...
    });
}

[下一步,可能需要您从数据库,csv文件或其他任何文件中加载测试数据。在这种情况下,可以使用适当的标准Node.js模块(请参见FAQ)。

要提出任何其他建议,请更详细地说明您的要求和您要完成的任务。另外,我在TestCafe存储库中创建了an issue,以数据驱动测试的示例扩展其文档。


2
投票

step级别的概念在TestCafe中不存在。您只有两个级别:fixture级别和test级别。如果要在step级别进行数据驱动的测试,则应查看与TestCafe集成的BDD框架。

© www.soinside.com 2019 - 2024. All rights reserved.