【问题标题】:Continue test case on assert在断言上继续测试用例
【发布时间】:2018-09-06 14:11:57
【问题描述】:

上次我使用 testcafe 时,我意识到在这个伟大的框架中缺少我的功能。这个函数类似于“尽管出现了断言,但继续执行特定测试的其余部分”

更准确地说,我描述了我缺少类似这样的功能的原因: 假设您正在测试 Web 应用程序,例如您正在输入合同日期的 Web 表单。此类合同表单包含大量输入框、下拉菜单、复选框等。

第一个简单的测试是这样的:

  • 在每个输入中在整个表单中输入数据,标记 chekcboxes, 从下拉菜单等中选择值。这只是一个测试,对于 简单的展示案例。

  • 然后,您在整个环境中运行此测试,一切正常。好的。

在下一个 webapp 版本中,您必须测试一切是否正常。但是这个测试在第一个断言时停止了。而且此时您不知道您还有多少其他断言,因为测试脚本将在此步骤停止工作。

您所能做的就是注释这一行并重新开始测试用例。而且,假设下一个断言出现在下一行。

你可能知道我的意思。 是否可以在出现错误的情况下继续测试,然后编写失败的测试并显示有关所有错误/断言的信息?

根据我所知道的和我的经验,我现在所能做的就是在每个 :except: 条件上加上 :if - else: 之类的东西。但这是重写现有测试脚本的艰巨工作。

我相信不只是我在想这个。但是,遗憾的是,我无法在 Web 上找到与 Testcafe 相关的任何信息,您,大师,如何解决这个问题。

您对此有何看法?

感谢和欢呼

【问题讨论】:

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


    【解决方案1】:

    如果上一步失败,TestCafe 不允许运行下一步。这样做的原因是,在大多数情况下,下一步依赖于上一步。

    例如,用户希望单击一个按钮,该按钮在他/她选择一个单选按钮项目后出现。如果第一步(选择单选按钮项)失败,按钮将不会出现,用户将无法单击不可见元素。因此,运行 2、3 等步骤没有意义。您需要在第一步解决问题才能继续使用您的页面。

    如果您的步骤不相互依赖,最好为每个独立场景创建单独的测试。在这种情况下,您将能够跳过运行失败的测试并在必要时修复它们。要跳过测试,请使用test.skip TestCafe 方法。

    【讨论】:

    • 谢谢你的回答,我同意你描述的情况。但也有许多其他场景可以使用此类功能。只是因为有许多不同的应用程序具有不同的场景。一旦某个输入按钮依赖于另一个,并且有一次,您只想测试完整的表单并检查每个选择器是否可见、可选择等。个人而言,不想在其他框架中进行测试,因为 TC 是 greet 并且具有其他的功能没有。所以,我会以某种方式找到解决方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 2011-10-13
    • 1970-01-01
    • 2011-06-11
    • 2015-12-18
    • 1970-01-01
    相关资源
    最近更新 更多