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

时间:2018-12-28 04:40:26

标签: automated-tests data-driven-tests testcafe

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

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

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

2 个答案:

答案 0 :(得分: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,以数据驱动测试为例扩展了其文档。

答案 1 :(得分:2)

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