BDD 的工具--Cucumber的基本使用

1.BDD 的工具 Cucumber,使用java语言书写框架,Cucumber 可以使用文本使用的语言叫做 Gherkin
思路和原理
·定义用户的行为,也就是验收测试条件
· 定义步骤
·执行验收测试,这时候因为步骤定义的内容没有实现所有测试失败
·书写步骤定义的内容,也就是实现产品代码
·运行验收测试,如果验收测试通过,产品代码通过
反复执行 2-5 步,直到所有产品代码完成,整个验收测试也通过了
行为描述
Feature,其大小相当于一个 Test Suite(测试用例集),一个 feature 代表一个功能。
Scenario,相当于 test case(测试用例)。
Step,包含 Given、When、Then、And 和 But 这些词组,尽管 Cucumber 本身在技术上不区分这三个词组,但在使用时推荐按照词组的意思来使用。
Given(给定) 是场景测试所需要的环境,相当于一个前置条件;
When(当) 是触发被测事件,类似点击事件等;
Then(则) 是验证结果,类似于平时用例中的验证步骤;
And(而且)如果存在多个 Given 操作,后面的 Given 可以用 And 替代;
But(但是)如果存在多个 Then 操作,第二个后面的 Then 可以用 But 替代。
步骤定义
完整的步骤定义是一个函数,它包含:注解 (annotation)、方法名、参数和方法内容
在注解中通常包含有正则表达式

^是正则表达式中匹配字符串的开始,$是匹配字符串的结束,(.*) 代表匹配除换行符以外的任意字符,
这个匹配值将会传递给函数参数。
@When("^输入关键字:(.*)$")
publicvoidinput(String keyword){
result= search.find(keyword);
}
Cucumber-java测试环境准备

1.下载 Cucumber-jvm 相关 jar 包,
Cucumber-core.jar 核心包
Cucumber-java.jar 通过 java 编写需要下载这个包
Cucumber-html.jar 生成结果为 html 文件需要下载这个包
Cucumber-junit.jar 生成结果为 junit 格式需要这个包
Cucumber-testng.jar 使用testng执行测试并生成报告
Junit.jar 如果代码中使用 junit 相关的类就需要这个包
testng.jar 如果代码中使用 testng 相关的类就需要这个包
Gherkin 步骤定义时需要这个包

BDD JAVA项目演练
1.新建maven项目




2.添加项目依赖
3.创建行为描述文件(Describe Behavior)
删除该文件
4.然后在cucumber包下建立一个子包(resources)用于存储.feature(行为描述文件)文件,如图:
4.步骤定义类(Step_Definition)
SearchStepdefs.java
5.执行测试者》以Junit执行或者是TestNG
想要运行 Cumcumber, 还需要一些简单的代码来驱动 Cucumber,
这些驱动 Cucumber 的代码单独放在一个 java 文件中,命名为 TestRunnerWithXXX.java,也放在cucumber包中。
6.书写实现步骤对象代码
cucumber包下新建一个Search.java类

猜你喜欢

转载自blog.csdn.net/liangdeniu/article/details/80166984
bdd