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

在功能文件中的空手道力量场景,以便在多个线程上顺序执行

狄睿
2023-03-14

当运行我所有的功能文件时,通过竹/maven,使用“清洁测试”命令,我如何强制每个功能文件中的场景按顺序运行?在多个线程上。例如,如果我有100个功能文件,每个功能文件中有20个场景,当我用5个线程运行它们时,功能文件的顺序并不重要,功能10可以在功能15之前运行,但是每个功能内部的场景必须按顺序运行。我需要运行特性10场景1,然后运行特性10场景2,依此类推。

因此,使用5个线程:

线程1可以运行功能1

线程2可以运行功能10

线程3可以运行特性3

线程4可以运行功能2

线程5可以运行功能4

但我需要每个场景1到20,按顺序执行。

因此,使用5个线程:

线程1的特征是场景1,然后是场景2,然后是场景3,ext。

线程2的特点是10场景1,然后场景2,然后场景3,ext。

线程3的特点是3场景1,然后是场景2,然后是场景3,ext。

线程4功能2场景1,然后场景2,然后场景3,文本。

线程5功能4场景1,然后场景2,然后场景3,分机。

答案是@parallel=false吗?我真的需要将其添加到每个功能文件的顶部吗。就像我说的,我的存储库中可能有100个功能文件,也许更多。还是必须在命令行中添加@parallel=false?如果是这样,它是否会像其他选项一样,“-Dparallel=false”?

共有1个答案

徐欣德
2023-03-14

如果编写的场景-s相互依赖,这是一种糟糕的做法。请阅读:https://stackoverflow.com/a/46080568/143475非常小心。

是的,空手道不支持“全局”开关来启用您描述的行为。其中一个原因是阻止不良行为。

您必须为所有功能添加@并行=false。即使这样,在1.0版本中也可能没有你想要的效果,因为一些行为变化:https://github.com/intuit/karate/wiki/1.0-upgrade-guide

 类似资料:
  • 我们已经知道场景是并行运行的。但是我们需要从功能文件(将从另一个功能文件调用)返回变量。 我们在功能文件中有如下多个场景: 我们正在重用上面的特征文件,以获取用于另一个特征文件的变量。然而,其他特征文件似乎间歇性失败,抱怨从其他特征文件获得的变量为空。 我的假设是返回的变量没有正确返回,因为功能文件上有多个场景。我们试图删除@负面场景,但只有1个场景。突然间,断断续续的故障消失了。 在保持并行运行

  • 如何在gatling模拟中运行多个空手道功能文件? 以下是我gatling模拟的代码片段: 我每次只能运行一个功能文件,如下所示:

  • 对于多个场景,我想在每个cucumber功能文件中只执行一次后台。如何在step文件中执行此操作? 功能:用户可以验证。。。。。。。。。。。 背景:给定输入特定逻辑的测试数据 场景:验证。。。。。。。。。1当A1和B1然后C1时 场景:验证.........2当A2和B2然后C2 场景:验证。。。。。。。。。2当A3和B3然后C3时

  • 在我们的测试功能(用于API测试)中,我们在后台创建测试用例所需的数据(例如:用户,他们的数据...)。我们希望在不同的模式下使用相同的测试功能。如何在后台设置数据?我的意思是我们如何为我们的测试功能使用“不同的”背景。我们希望运行相同的测试功能: > 在管理或非管理模式下,所以在后台我们需要创建一个用户帐户,然后生成一个访问令牌,然后使用该令牌为该用户添加一些数据;该令牌用于每个场景; 对于注入

  • 任何帮助都将非常感谢! 谢里奥

  • 我在功能文件中使用空手道配置后场景=,并成功地获得结果,并且能够进行数据库调用。如何在Karate-config.js? 注意:我还有一个Java类调用。 任何像这样的实现? 在特征文件中使用的代码 更新:使用空手道后的担忧。配置 场景:我有两个功能文件 特性1:API)包含@smoke@测试标签 功能2: UI)包含@dropdown@Angular My在仅执行@smoke test、My