在TestCafe Studio中:是否可以执行上一个测试的步骤?

时间:2020-07-29 10:26:55

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

我的测试包括需要针对每个测试重复的步骤。

测试是这样的:

  1. 打开登录对话框(单击登录按钮)
  2. 登录名(输入用户名和密码)
  3. 导航到私人页面(单击菜单点)

每个测试都取决于先前的测试。

Id喜欢使用“执行先前的测试代码”之类的函数,该函数在测试3中被调用时,将调用测试2,因此将测试1调用。在这一点上不执行钩子也很重要。

对于手写测试,这不是问题:我将测试定义为单独的函数并相应地调用它们,而不是在test()调用中将其定义为匿名函数。

对于TestCafe Studio,我感觉“内部”调用内部API并创建了此功能:

function executePreviousTestCode(t) {
    const id = t.testRun.test.id;
    const tests = t.testRun.test.testFile.collectedTests;
    const prevTestIndex = tests.findIndex(t => t.id === id) -1;
    if(prevTestIndex < 0) return;
    const prevTest = tests[prevTestIndex];
    return prevTest.fn(t)
}

它适用于普通的TestCafe,但我不知道如何将其包括在TestCafe Studio测试中。

也许有人提出了比复制和粘贴或一项大型测试更好的解决方案。

1 个答案:

答案 0 :(得分:2)

在TestCafe中,您可以使用User Roles和/或beforeEach hooks进行授权。 beforeEach挂钩允许您在夹具中的每个测试之前运行代码,User Roles允许您定义多个登录例程并按需使用它们。

TestCafe Studio不支持User Roles进行记录的测试。但是,您可以将记录的测试转换为脚本,然后在其中应用User Roles