• 行为驱动: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测试,是不是很清晰明了呢。

  • 相关阅读:
    CentOS中的中文乱码问题的解决
    xml2config not found. Please check your libxml2 installation.
    yii数据库存储对象DAO
    linux常用svn命令
    通过rpm包安装、配置及卸载mysql的详细过程.
    php Undefined index和Undefined variable的解决方法
    【30篇突击 android】源码统计四
    【30篇突击 android】源码统计三
    Android 新手入门指导
    android 问题汇总系列之三
  • 原文地址:https://www.cnblogs.com/longronglang/p/10376629.html
Copyright © 2020-2023  润新知