我们团队使用的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 登录成功,页面跳转到首页,并在右上角显示用户名

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-23
猜你喜欢
  • 2021-08-25
  • 2022-12-23
  • 2021-06-12
  • 2021-06-19
  • 2022-12-23
  • 2022-12-23
  • 2021-06-26
相关资源
相似解决方案