当前位置: 首页 > 知识库问答 >
问题:

在assert上继续测试用例

百里飞捷
2023-03-14

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

更准确地说,我描述了我缺少此类功能的原因:假设您正在测试类似web表单的web应用程序,在其中输入合同日期。此类合同表格包含许多输入框、下拉菜单、复选框等。

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

>

然后,你在所有环境中运行这个测试,一切正常。好的

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

您所能做的就是注释这一行并再次启动测试用例。假设下一个断言出现在下一行。

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

根据我所知道的和我的经验,目前我所能做的就是放在每一个:除了:条件上,比如:if-else:。但是这是我重写现有测试脚本的enormy工作。

我相信不仅仅是我想到了这一点。但是,遗憾的是,我在网上找不到任何与Testcafe有关的信息,也找不到你,大师,是如何解决这个问题的。

你怎么看?

谢谢大家,干杯

共有1个答案

陈斌蔚
2023-03-14

如果前一步失败,TestCafe不允许运行下一步。原因是在大多数情况下,下一步取决于上一步。

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

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

 类似资料:
  • 我按照cypress在他们的文档中推荐的方式编写测试,即每个测试有多个断言,但是用这种方式编写测试时会出现一个问题,那就是如果断言失败,测试执行就会停止。 我希望每个测试有多个断言,如果其中一个失败,测试将失败,但将继续测试执行,所以在最后,我将能够看到测试中失败的所有断言,而不仅仅是第一个失败的断言。 提前感谢!

  • 这是我的一个面试问题。我们有一个硒测试类,有5,6个硒测试。 测试3正在执行中,发生了网络故障。现在一旦网络恢复,如何配置框架,使它应该从失败的地方开始,就像从第三次测试开始一样。并且应该执行已经执行的测试1和2。假设framework是JUnit。

  • 问题内容: 当Windows上的Visual C ++断言失败时,调试器将停止,显示消息,然后让您继续(或者,如果未运行调试会话,则为您启动Visual Studio)。 在Linux上,assert()的默认行为似乎是显示错误并退出程序。由于我所有的断言都通过宏进行,因此我尝试使用信号来解决此问题,例如 但是,尽管GDB(通过KDevelop)停在了正确的位置,但我似乎无法继续过去,并且在GDB

  • 我有一个关于NodeJS中Assert模块的问题。 在“测试”之外使用Assert模块是不是很好的做法,我的意思是在生产中,比如如果我有一个函数来求和两个数字,我可以使用Assert模块来检查这两个参数是数字还是不是数字 这只是一个简单的例子,但您可以理解这一点 这会不会影响代码执行或者速度什么的。 提前致谢

  • 跳过当前循环的剩余部分并继续下一次循环。在各种循环中都是有效的。 Continue [, LoopLabel] [AHK_L 59+]:如果指定了,则 LoopLabel 表示此语句所应用的循环;通过标签名或嵌套层级的数值。如果省略或为 1,此语句应用于它所在的最内层循环。LoopLabel 必须为常量,不支持变量和表达式。如果指定标签,则它必须直接指向循环命令。 Continue 的行为如同直接

  • 简介 本章介绍的是Scheme中特有的数据类型——继续(Continuation)。由于其他程序设计语言并没有这种数据类型,因此它难于理解。当下,你并不需要彻底理解清楚,只需要大致了解。 我会讲解广义的继续和简短地介绍Continuation-Passing-Style(CPS),然后再讲解Scheme中的继续。我认为通过这种方式理解继续会比较容易。 广义继续 继续是在返回到顶层(Top leve