我知道在这个框架内,用户无法调用场景中的场景。我正在尝试创建端到端测试用例,其中在测试的多个阶段都有验证点。
使用"坏"的小黄瓜语法,该场景的过程将类似于:
给定项目A存在
当用户处理项目时
然后显示警告
当用户访问项目时
然后警告不显示
当用户完成项目时
则项目状态=";CURRENT";
并且记录状态=";"完成";
我考虑的第一件事是将场景分解为3个不同的GWT场景。
那很好。
然而,假设我现在想创建一个新的端到端场景,它可以重用创建的3个场景中的一个(就像重用函数一样(。
如何在不重复小黄瓜代码的情况下做到这一点?
我不能使用后台,因为我需要重用的部分正在执行过程中。之前和之后的步骤可能不同。
总结:我正在尝试重用一个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中使用Selenium和Cucumber。