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

使用硒化物/cucumber重新运行失败的场景-无需重新运行。txt文件

从阎宝
2023-03-14

我用Cucumber/Selenide编写自动化测试,我想重新运行失败的场景。

这是我项目的一部分,只有两个小测试(一个失败)来演示行为:https://github.com/mtpx/cucumberRerun

我阅读了如何使用cucumber重新运行失败的场景?和https://medium.com/@belek.bagishbekov/how-to-rerun-failed-test-cases-in-cucumber-b7fe9b1dcf9c

在我的申请中。在@CucumberOptions的插件部分中的功能测试运行程序(ApplicationTest)我有一行:“rerun:rerun/failed_scenarios.txt”,根据之前的URL,它应该生成失败场景的文本文件,但在使用“mvn clean test”(失败场景)执行测试后,没有任何重新运行。txt文件。

你知道这里出了什么问题吗?为什么构建后我没有rerun.txt文件?我用硒化物代替硒,也许问题就在这里?

共有2个答案

东郭勇
2023-03-14

:)解决的问题在pom我有行:

-Dcucumber.options="--plugin io.qameta.allure.cucumberjvm.AllureCucumberJvm"

这一行覆盖了TestRunner中的所有插件信息

岳茂
2023-03-14

创建另一个场景文件,如下所示。让我们将其称为FailedScenarios.java。每当您注意到任何失败的场景时,请运行此文件。此文件将使用目标/重新运行。txt作为运行场景的输入。

这一行要求:

features = "@target/rerun.txt",

全cucumber选择

@CucumberOptions(
    monochrome = true,
    features = "@target/rerun.txt", //Cucumber picks the failed scenarios from this file 
    format = {"pretty", "html:target/site/cucumber-pretty",
            "json:target/cucumber.json"}
  )
public class FailedScenarios {

}

如果您需要运行失败的Scenario也从maven触发,您可以使用目标以外的重新运行文件路径,在这种情况下,更改您的主运行程序和失败的测试运行程序中的文件路径

 类似资料:
  • 我有一个示例项目,其中使用了Maven、TestNg和Cucumber。我使用testrunner类运行测试。 我创建了一个包含两个方案的功能文件,但两个方案都失败了。我有两个具有不同功能文件的测试运行者类 - 1。特征文件指向所有功能,2。指向仅失败的方案。 当我尝试重新运行场景时,它只运行一个场景。 1- 请告知如何执行所有失败的方案。

  • 我已经建立了一个cucumberjava硒项目,我想在我的管道中添加重新运行阶段。使用运行器AllTestRunner中的@rerun插件.java我能够创建一个仅失败测试的重新运行.txt并使用maven-surefire-plugin,我创建了一个第二个运行器FailedRunner.java用于自动执行,仅失败的测试。 问题是FailedRunner.java不仅执行失败的测试,还执行All

  • 我正在尝试执行第二轮仅运行失败的场景,以避免由于环境/网络/测试不稳定而出现错误警报。我想知道是否有办法只运行一个maven命令来执行以下操作:1。运行my runner在其配置2中包含的所有方案。制作cucumber。此运行3的json报告。创建失败场景的列表4。运行失败场景列表5。根据第二次运行中失败测试的结果,更改第一次运行中创建的报告的结果,以便在最后,只有在两次运行中失败的场景被标记为失

  • 我正在使用 jvm cucumber并行插件,并希望重新运行我失败的测试用例。需要在 文件中进行哪些更改。

  • 我想自动重试失败的测试,以提高测试的可靠性,类似于 Junit 中的 TestRule,我希望能够灵活地在测试周围插入逻辑,以便实现重试循环: > 我正在使用Cucumber-JVM,需要一个涉及Java或Gradle的解决方案 我通过Gradle javaexec尝试了以下cucumber选项: //--format pretty--format rerun--out tmp/rerun.txt

  • 我正在使用SeleniumWebDriver(2.53.0版)的Java实现对web应用程序运行一些自动化测试。测试使用Cucumber的Java实现(版本1.2.3)以行为驱动测试格式编写。我使用Maven(3.3.9版)导入我的所有依赖项,并构建和运行测试。使用cucumber标签将测试分为不同类别。例如,我可以使用以下命令从命令行运行一类标有@JohnnyBravo的测试: 在做了一些研究后