CYPRESS的Gherkin-如何为整个测试中具有多个验证点的长测试用例格式化GHERKIN

问题描述

我了解在此框架内,用户无法调用方案中的方案。 我正在尝试创建端到端测试用例,其中在测试的多个阶段都有验证点。

使用“坏”小黄瓜语法,场景的过程将类似于:

鉴于项目A存在

用户处理商品时

然后显示警告

用户访问项目时

然后不显示警告

用户最终确定商品时

然后,项目状态=“当前”

并且记录状态=“已完成”

我考虑的第一件事是将场景分为3个不同的GWT场景。

很好。

但是,现在我想创建一个新的端到端方案,该方案可以重用所创建的3个方案之一(就像您将重用函数一样)。

如何在不复制小黄瓜代码的情况下做到这一点?

我不能使用Background,因为我需要重用的部分位于执行的中间。 之前和之后的步骤可能有所不同。

总结:我正在尝试重用许多端到端方案固有的GWT方案。

非常感谢您提供的任何反馈或帮助。

干杯和谢谢,

解决方法

我想我知道你的意思。我已经完成了一些“元”场景。例如,有些程序可以测试登录,维护详细信息并创建一个非常精细的帐户。然后,我有一个场景,它假设到此为止已经走了一条快乐的路,因此可以进一步测试整个过程。因此,想象一下有一个名为:

The user is logged in and has successfully created an account and is at the add product screen

为此,在步骤定义中,我只是将函数调用与硬编码的值组合在一起:

@When("^The user is logged in and has successfully created an account and is at the add product screen$")
    def addProducts(String val) {
        navLibrary.loginAsUser("user","password")
        navLibrary.createAccount("some","params","you","need")
        navLibrary.navToProducts("some param")
    }

然后在新的单独步骤中从更详细的细节开始。您必须考虑系统设计和级联。对我来说,随着测试的开始发展,这意味着很多最初的返工,但是现在轻而易举。选择正确级别的可重用性。它是测试代码,因此不必完全遵守所有编程规范。从长远来看,它必须能够工作并且维护成本低。 我没有使用赛普拉斯。我的测试是在Groovy中使用硒和黄瓜进行的。