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

论坛 期权论坛 脚本     
已经匿名di用户   2022-4-26 15:52   1945   0

1、什么是参数化

实际设计测试用例过程中,我们经常会用等价类、边界值这样的方法,针对一个功能进行测试数据上的测试,比如一个输入框,正向数据、逆向数据,非法输入等等

2、Cucumber的数据驱动

同上篇文章一样,需要在我们在工程里新建一个testParamDemo.feature特性文件,在这里用参数化会显示如下:

570031207563a416b6ff7dc337bb1cf4.png

3、参数化的实际应用

验证计算器多组数字相加,并计算功能

3.1、编写测试用例文件

在工程里新建一个testParamDemo.feature特性文件

#cucumber参数化使用

Feature: 验证计算器多组数字计算功能

打开计算器进行计算

Scenario Outline: 打开计算器进行计算

Given 打开计算器面板

When 输入"" and ""并计算结果

Then 等待计算结果""#5组数字计算机结果

Examples:| a1 | a2 | result |

| 1 | 1 | 1 |

| 2 | 2 | 4 |

| 3 | 3 | 6 |

| 4 | 4 | 8 |

| 5 | 5 | 7 |

3.2、创建业务测试代码部分

TestParamDemo

packagecom.cucumber.demo;importcucumber.api.java.en.Given;importcucumber.api.java.en.Then;importcucumber.api.java.en.When;importorg.testng.Assert;/***@authorrongrong

* cucumber参数化使用*/

public classTestParamDemo {inttemp;

@Given("^打开计算器进行计算$")public voidopenCalc() {

System.out.println("打开计算器进行计算");

}

@When("^输入 \"([^\"]*)\" and \"([^\"]*)\" 并计算结果$")public int addition(int a1, inta2) {

temp=a1 +a2;returntemp;

}

@Then("^等待计算结果 \"([^\"]*)\" $")public void verify_result(intresult) {//验证实际计算和预期结果是否一致

Assert.assertEquals(temp,result);

}

}

3.3、执行测试

选中testParamDemo.feature,右键

851455e30fe5729710087a278f310aa2.png

3.4、测试结果显示

左侧结果

92a0cc4cc37aacf6477b16efd151f134.png

详细结果树

2de1a1829d6e23d115bcfcde8ff02240.png

到此为止我们就实现了用参数化/数据驱动的形式来实现cucumber测试,是不是很清晰明了呢。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP