行為驅動:Cucumber + Java - 實現數據的參數化


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測試,是不是很清晰明了呢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM