我已经在Cucumber中有了我的特性文件,并且正在使用Given,When,Then语法(Gherkin)在其中编写我的场景,并在步骤定义文件中有相应的步骤。我有一个场景,我正在检查特定数据集是否存在(这是我给定步骤的一部分),然后继续执行“然后”、“和”等的下一步,但如果不存在,则应跳过其余步骤并退出步骤定义文件,而不会使场景失败。有人能告诉我cucumber是否支持这一点吗?如果是,最好的方法是什么?
很简单,将您的代码行包含在try-catch块中,并确保在catch块中没有断言。
如果特定的假设失败,您可以使用JUnits Assume
或TestNG的< code>SkipException将测试标记为跳过。跳过的测试不被视为失败。
来自https://github.com/cucumber/cucumber-jvm/tree/master/junit
通过假设JUnit提供:
一组用于说明有关测试有意义的条件的假设的方法。失败的假设并不意味着代码被破坏,而是测试没有提供有用的信息。默认的JUnit运行程序跳过假设失败的测试。自定义运行程序可能会有不同的行为。
cucumber运行程序支持假设,并将跳过的场景标记为跳过。
从…起https://github.com/cucumber/cucumber-jvm/tree/master/testng
Cucumber为SkipException提供有限的支持。
我有一个如下结构的场景: 如您所见,在第二个示例中有一个参数“被忽略”。如果我在运行时检测到这个关键字,我希望跳过出现关键字的步骤。 目前我使用这个: 如果存在IGNORED关键字,则此步骤将设置为PASSED。相反,我想要的是将这单个步骤标记为SKIPPED,并且仍然执行以下步骤,然后根据其他步骤的状态将完整的测试场景标记为PASSED或FAILED。 所以我的问题是: 有没有办法手动将 Cuc
我将硒与cucumber一起使用(使用JAVA,但不太相关) 假设我有以下场景: 功能:示例功能 场景:在网站上执行操作A给定网站已打开,用户输入正确的登录名并传入字段,用户按“登录”,然后执行操作A 场景:在网站上执行操作A给定网站已打开,用户输入正确的登录名并传入字段,然后用户按“登录”,然后执行操作B 现在,将有数百个场景,网站总是需要登录到网站,所以我假设对于每个测试场景,我必须重复登录步
cucumber场景使用JUnit运行。 我有一个用例,需要根据Jira票据的状态跳过特定的Cumber场景。然后,我需要将该场景标记为在html报告中传递。 我可以使用PendingException()或AssumptionViolatedException()轻松跳过场景,两者都可以正常跳过场景执行并将步骤标记为跳过。但是场景本身将被标记为失败,我希望它被通过。 无论如何,我可以做到这一点?
使用Serenity-Cucumber,我正在尝试构建一个测试套件,以便我可以通过多个功能文件重用步骤定义(给定、何时、然后和...)。 例如: 上面的测试用例记录在一个用户中,我需要将其用于其他场景。例如,如果我添加了一个测试用例来更新密码,则需要在更新密码场景之前执行上述场景。 测试将需要执行登录步骤,然后更新密码步骤。从我有限的知识来看,似乎我需要在步骤。因此,在更新密码方案之前,我将有以下
我在功能文件中编写了一系列场景,其中包含断言。如果第一个场景的断言失败,Specflow将跳过它之后的所有场景。我希望我所有的场景都能继续运行,即使其中一个像NUnit一样失败。我使用SpecRun作为测试提供商,我在SpecFlow网站上找不到任何对我有帮助的东西。可能是我的应用程序中缺少了什么。配置文件? 以下是我的App.config文件:
我目前有一个项目,里面有一大堆cucumber。特征文件,其中许多场景都被破坏。这些场景用< code>@broken标记,我们通过用< code>-t ~@broken执行cucumber来避免运行它们。不幸的是,当我们检查cucumber输出时,这些场景实际上是不可见的。它们不会显示为通过、失败或跳过。我想要的是在cucumber输出中包含这些场景的计数。它们应该显示为“跳过的”测试,而不是根