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

如何运行cucumber场景的基础上的测试用例ID是附加与场景名称?

司马奇希
2023-03-14

我想运行cucumber功能文件基于测试用例ID,scanerio名称包含。

我知道我们可以使用@CucumberOptions的功能标记并指定行号来执行例如"src/test/Resources/Folder/myfile.feature: 7:12"这将在第7行和第12行运行场景。但是我想运行基于TC ID。

下面是功能文件代码

@Run
Feature: Login Functionality

Scenario: First Test Case(TC.No:1)
    Given I perform action 1

Scenario: Second Test Case(TC.No:2)
  Given I perform action 2

Scenario: Third Test Case(TC.No:3)
    Given I perform action 3

Scenario: Fourth Test Case(TC.No:4)
   Given I perform action 4

Scenario: Fifth Test Case(TC.No:5)
    Given I perform action 5

所有场景都在一个功能中。对于上面的功能文件代码,我需要一些基于TC Idhtml" target="_blank">执行的方法。例如,我只想执行TC1、TC2和TC5(TC Id取自场景名称)。

有一个属性文件包含要执行的TC Id。我的代码应该读取文件,然后只执行那些TC id。这可以帮助我减少要运行的自动化TC的数量。可能吗?

共有2个答案

步骏
2023-03-14

我不熟悉你的工作。

但是,这里是应该工作的一般逻辑(基于我的红宝石cucumber知识)

在钩子中,您可以将逻辑写入before方法下,以获取场景名称场景。命名,然后提取TC。否。比较TC。不,如果不在您的列表中,请跳过。下面的链接将提供如何跳过场景的信息(在before方法中使用此类)https://junit.org/junit4/javadoc/4.12/org/junit/AssumptionViolatedException.html

然而,最好的做法是使用标签,如果您有@TCId-xx标签,这会很容易。您仍然可以编写一个简单的程序来扫描所有的功能文件,并根据场景名称中的TC. No标记更新场景。

滕渝
2023-03-14

您可以使用@cucucumberoptionsname属性,或者如果使用cli选项,则可以使用'-n'选项。它还支持正则表达式。

运行TC. No: 1和TC. No: 4使用这样的东西

@cucumberpoptions(name={“TC.No:1 | TC.No:4”})

@CucumberOptions(名称={“TC.No:1”,“TC.No:4”})

您可以在此链接获得更多详细信息。

当您从文件中读取ID时,第二个选项是最好的。使用cucumber。应用程序编程接口。cli。MainclassMain()方法来执行功能。您可以动态创建选项。参考这篇文章。

CLI参考文档。

 类似资料:
  • 我正在寻求关于如何仅按名称运行特性文件场景的帮助。我已经试了一段时间了,但它没有出来。我知道这可以通过标签或行号来完成,但我想知道我们是否可以通过名称来运行cucumber测试,或多或少使用这个命名法。 给定一个名为“features/test.feature”的文件,其中包含: 我想从控制台按名字运行一个场景,或者用gradle运行一个场景,可能类似于这种方式 或者和gradle在一起

  • 我有一些cucumber场景运行顺利,但我也想运行其他类型的测试。例如,“测试页面上的每个组件”不是一个有效的方案,因为 BDD 是为了检查行为而创建的。我想划分cucumber场景和硒/成分测试 这是我的跑步者:

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

  • 我正试图在Maven中基于cucumber标记运行一套JUnitCucumber特性。我可以让它们按顺序运行,但不能并行运行。我找到了一个名为小胡瓜的软件包,它可以帮我解决这个问题。 然而,我无法让测试运行,我看了github上的示例maven项目,它在Cucumber.class运行良好,但在西葫芦上抛出一个错误。 任何帮助将不胜感激。 我已在pom中包括以下内容 我是在召唤我的跑步者。 我得到

  • 在我的cucumber jvm项目中,我希望在不使用场景大纲的情况下,使用相同的数据集执行场景10次(数据在excel中提供)。 有人能指导我如何做到这一点吗?

  • 主要内容:如何编写测试场景,测试场景的特征测试场景是测试用例的详细文档,涵盖了线性语句中软件应用程序的端到端功能。线性语句被视为一种场景。测试场景是可测试需求的高级分类。这些要求根据模块的功能进行分组,并从用例中获取。 在测试场景中,由于许多相关的测试用例,因此存在详细的测试过程。在执行测试场景之前,测试人员必须考虑每个场景的测试用例。 在测试场景中,测试人员需要将自己置于用户的位置,因为他们在用户的角度下测试软件应用程序。场景的准备是最