行为驱动:Cucumber + Selenium + Java - 环境搭建

Posted dayu2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了行为驱动:Cucumber + Selenium + Java - 环境搭建相关的知识,希望对你有一定的参考价值。

1.1 什么是行为驱动测试

说起行为驱动,相信很多人听说过。

行为驱动开发-BDD(Behavior Driven Development)是一个诞生于2003年的软件开发理念。其关键思想在于通过与利益相关者的讨论取得对预期的软件行为的清醒认识,它通过用自然语言书写非程序员可读的测试用例扩展了测试驱动开发方法。BDD提供了一种通用的,简单的,结构化的描述语言,这种语言既可以是英语也可以是其他本地的语言,通过他能够很方便让项目成员和业务干系人非常顺畅的沟通需求,而这些干系人可以不懂的任何编程语言和技术细节。这种理念的优势是显而易见的,那就是我们的整个软件研发过程可以更易懂,更容易贴近用户需求,从而可以得到很好的反馈和交互效果,并且缩减了许多中间环节(比如将系统的实现细节解释给用户)。

而所谓行为驱动测试则是在BDD的概念中进一步延申,阐述的是我们在测试过程中采用行为驱动的理念,将我们的测试用例使用结构化的表述语言进行组织。这样我们的测试过程,特别是测试用例就可以更容易为团队的各方面以及客户所明了。在这样的条件下,我们可以认为我们的测试用例几乎完全代表用户立场,而用这样的测试过程去验证我们的开发过程,也可称得上是‘测试驱动开发’的一种初步体现形式。

1.2 什么是Cucumber

Cucumber是一个支持行为驱动的开发的开源工具。 更准确地说,Cucumber可以定义为一个测试框架,由简单的英语(或其他自然语言)文本驱动,我们可以将它作为文档、自动化测试和开发帮助。我们将Cucumber这个框架和Selenium结合起来实现自动化测试,就可以让我们的自动化过程体现出‘行为驱动’的特性。

1.3 搭建Cucumber环境

如果我们使用Maven来搭建cucumber环境相对来说会非常简单,只需在pom文件中添加相应的dependencies就可以让maven为我们自动抓取和配置项目所需jar包。

出于学习目的,我们不使用maven,而是手动去配置这些依赖。

要搭建Cucumber环境,我们需要以下的东西:

- JDK:推荐使用1.8
- 集成开发环境:这里我们使用eclipse
- eclipse的cucumber插件
- cucumber框架所需的jar包
- selenium的相应jar包

1.3.1 JDK安装

JDK的下载安装和环境变量配置网上有大量教程,本文不再赘述。

1.3.2 eclipse安装

eclipse的安装也非常简单,本文不再赘述。

1.3.3 cucumber插件安装

通过eclipse菜单,Help->Install New Software进入安装插件。添加安装地址http://mrpotes.github.com/cukes-jvm-eclipse-plugin/update-site,将Cucumber JVM插件勾选并安装即可。
技术图片

  

1.3.4 下载selenium和cucumber所需jar包
  技术图片

我们所需要的jar包就是上图所示这些,他们都可以在Mavenrepository下载到:https://mvnrepository.com/

搜索这些jar包,就能下载到相应的文件,比如cucumber-core-1.2.2.jar:https://mvnrepository.com/artifact/info.cukes/cucumber-core/1.2.2

  技术图片

通过红框中的下载链接就能获取相应jar包,其他jar包同样如此。

  

下好所有jar包以后,我们在eclipse中新建一个java project,在项目下新建lib文件夹,将以上所有jar包拷贝到文件夹中。然后,右键点击项目,选择Build Path -> Config Build Path.

通过Libraries界面,选择Add Library,将这些jar包添加进来:

  技术图片

添加完后,点击OK。到此为止,我们的Cucumber + Selenium + Java环境就已经搭建完成了。

本文用到的所有资源都在以下网盘地址可以拿到:
链接:https://pan.baidu.com/s/17BGbbo1nYLLe6dmp3KJYIA
提取码:v9tf

以上是关于行为驱动:Cucumber + Selenium + Java - 环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

行为驱动:Cucumber + Selenium + Java - 使用标签实现测试分组

行为驱动:Cucumber + Selenium + Java - 实现测试用例的参数化

行为驱动:Cucumber + Selenium + Java - 实现测试用例的参数化

Cucumber行为驱动

行为驱动:Cucumber + Java - 实现数据的参数化

Cucumber, capybara and selenium - 无需按钮即可提交表单