1、什么是參數化
實際設計測試用例過程中,我們經常會用等價類、邊界值這樣的方法,針對一個功能進行測試數據上的測試,比如一個輸入框,正向數據、逆向數據,非法輸入等等
2、Cucumber的數據驅動
同上篇文章一樣,需要在我們在工程里新建一個testParamDemo.feature特性文件,在這里用參數化會顯示如下:
3、參數化的實際應用
驗證計算器多組數字相加,並計算功能
3.1、編寫測試用例文件
在工程里新建一個testParamDemo.feature特性文件
#cucumber參數化使用 Feature: 驗證計算器多組數字計算功能 打開計算器進行計算 Scenario Outline: 打開計算器進行計算 Given 打開計算器面板 When 輸入 "<a1>" and "<a2>" 並計算結果 Then 等待計算結果 "<result>" #5組數字計算機結果 Examples: | a1 | a2 | result | | 1 | 1 | 1 | | 2 | 2 | 4 | | 3 | 3 | 6 | | 4 | 4 | 8 | | 5 | 5 | 7 |
3.2、創建業務測試代碼部分
TestParamDemo
package com.cucumber.demo; import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; import cucumber.api.java.en.When; import org.testng.Assert; /** * @author rongrong * cucumber參數化使用 */ public class TestParamDemo { int temp; @Given("^打開計算器進行計算$") public void openCalc() { System.out.println("打開計算器進行計算"); } @When("^輸入 \"([^\"]*)\" and \"([^\"]*)\" 並計算結果$") public int addition(int a1, int a2) { temp=a1 + a2; return temp; } @Then("^等待計算結果 \"([^\"]*)\" $") public void verify_result(int result) { //驗證實際計算和預期結果是否一致 Assert.assertEquals(temp,result); } }
3.3、執行測試
選中testParamDemo.feature,右鍵
3.4、測試結果顯示
左側結果
詳細結果樹
到此為止我們就實現了用參數化/數據驅動的形式來實現cucumber測試,是不是很清晰明了呢。