我们团队使用的Cucumber作为我们的功能测试框架。Cucumber是一种BDD(Behaviour driven development)测试框架。感兴趣的读者可以去Cucumber的官网了解BDD和该框架更详细的信息:点击这里。在这里我就不详细描述了。
那么这和本文要说的Cuke4Duke有什么关系呢?实际上Cucumber是ruby编写的,原生的也只对ruby编写测试提供支持。而Cuke4Duke就像是给Cucumber提供一个包装器,让你可以使用Java编写测试。后文我将交换着使用Cucumber和Cuke4Duke。
我们在使用Cuke4Duke的时候也碰到了一些问题。比如原生的Cucumber是可以通过ruby的at_exit回调,在测试跑完之后执行点代码,但是Cuke4Duke里却没有这么一个回调。Cuke4Duke里有Before和After等annotation,但是这些annotation标记的方法是在每个场景开始之前之后执行的,而没有提供整个测试跑完之后的回调方式。
所以我就想通过修改源代码的方式添加一个AfterAll的标签。为了实现这个我们得首先对Cuke4Duke以及Cucumber有个基本的了解。本文的目的就是简单的介绍下Cuke4Duke和Cucumber是个啥东西。
对于Cucumber优点我只简单描述一下:它可以更好管理测试用例,更好的协调QA和开发人员的工作(当然,我对其了解也不太深)。
举个例子,如果我们要开发一个用户登录页面,QA先写好测试用例,然后开发人员来实现。而且我们想将这些测试用例和代码很好的结合起来管理,而不是放到一个Excel文件里。如果你使用Cucumber你可以这样做:QA编写下面这样的features文件:
1: //login.feature
讯享网
讯享网 2:
3: Feature: 用户登录页面
讯享网 4: In order 访问到需要授权的内容
5: As a 未登录用户
讯享网 6: I want to 登录网站
7:
讯享网 8: Scenario:登录网站
9: Given 我打开登录页面
讯享网 10: And 输入用户名和密码
11: When 点击登录按钮
讯享网 12: Then 登录成功,页面跳转到首页,并在右上角显示用户名

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/54703.html