Karate 在功能文件中的空手道力量场景,以便在多个线程上顺序执行
当通过bambol/maven使用“clean test”命令运行所有功能文件时,如何强制每个功能文件中的场景按顺序运行?在多个线程上。 例如,如果我有100个功能文件,每个功能文件中有20个场景,当我用5个线程运行它们时,功能文件的顺序无关紧要,功能10可以在功能15之前运行,但每个功能内部的场景必须按顺序运行。 我需要运行Feature10Scenario1,然后运行Feature10Scenario2,依此类推 因此,使用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,ext 线程5的特征是4场景1,然后是场景2,然后是场景3,ext 答案是@parallel=false吗?我真的需要将其添加到每个功能文件的顶部吗。就像我说的,我的存储库中可能有100个功能文件,也许更多。Karate 在功能文件中的空手道力量场景,以便在多个线程上顺序执行,karate,Karate,当通过bambol/maven使用“clean test”命令运行所有功能文件时,如何强制每个功能文件中的场景按顺序运行?在多个线程上。 例如,如果我有100个功能文件,每个功能文件中有20个场景,当我用5个线程运行它们时,功能文件的顺序无关紧要,功能10可以在功能15之前运行,但每个功能内部的场景必须按顺序运行。 我需要运行Feature10Scenario1,然后运行Feature10Scenario2,依此类推 因此,使用5个线程: 线程1可以运行功能1 线程2可以运行功能10 线程3可以
还是必须在命令行中添加@parallel=false?如果是这样的话,它是否会像其他选项一样,“-Dparallel=false”如果您的
场景的编写使它们相互依赖,这是一种糟糕的做法。请仔细阅读:非常仔细
是的,空手道不支持“全局”开关来启用您描述的行为。其中一个原因是阻止不良行为
您必须为所有功能添加@parallel=false
。即使这样,在1.0版本中也可能没有您想要的效果,因为有些行为改变:谢谢@Peter Thomas。这些场景不一定相互依赖,因为我知道这是一种不好的做法,但我看到在运行多个线程时出现错误,而在单个线程上没有错误。这就是为什么我想强制每个功能文件按顺序运行场景。如果我将@parallel=false添加到所有功能文件中,是否必须向运行这些功能文件的命令中添加任何内容?@CoreySnow不需要。根据经验,如果你把这些神秘的问题保持原状,只会延长你的头痛时间。还请注意,如果调用java代码,一个常见的错误是,如果该代码不是线程安全的,则可能会出现这些“错误”。除了投入时间和理解为什么您的测试不是线程安全的之外,我没有其他建议。这不太可能是空手道的问题,因为它在野外经过了相当好的测试