问题描述
我了解在此框架内,用户无法调用方案中的方案。 我正在尝试创建端到端测试用例,其中在测试的多个阶段都有验证点。
使用“坏”小黄瓜语法,场景的过程将类似于:
鉴于项目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中使用硒和黄瓜进行的。