zoukankan      html  css  js  c++  java
  • TestNG参数化之@DataProvider传参

    @parameters适合传递简单少量参数,复杂参数一般使用@DataProvider传递

    @DataProvider语法:

    @DataProvider(name = "dataproviderName")
    public Object[][] createData([Method m]) {
       return Array;
    }
    
    @Test(dataprovider="dataproviderName"[, dataProviderClass = dataProviderClassName.class]) 
    public void test(parameters...){ }

    1.简单返回Array

    test.java

        //This method will provide data to any test method that declares that its Data Provider
        //is named "test1"
        @DataProvider(name = "test1")
        public Object[][] createData1() {
         return new Object[][] {
           { "Cedric", new Integer(36) },
           { "Anne", new Integer(37)},
         };
        }
         
        //This test method declares that its data should be supplied by the Data Provider
        //named "test1"
        @Test(dataProvider = "test1")
        public void verifyData1(String n1, Integer n2) {
         System.out.println(n1 + ": " + n2);
        }

    2.独立DataProvider类

    StaticProvider.java——提供数据的类
    public class StaticProvider {
      @DataProvider(name = "create")
      public static Object[][] createData() {
        return new Object[][] {
       { "Cedric", new Integer(36) },
       { "Anne", new Integer(37)},
     };
    }

    test.java

    //This test method declares that its data should be supplied by the Data Provider
    //named "test1"
    @Test(dataProvider = "create", dataProviderClass = StaticProvider.class)
    public void verifyData1(String n1, Integer n2) {
     System.out.println(n1 + " " + n2);
    }

    3.含参数的DataProvider类_参数为调用dataprovider的方法名

    StaticProvider.java 
    public class StaticProvider {
          @DataProvider(name = "create")
          public static Object[][] createData(Method m) {
            return getData(m.getName());
          }
              
          public static Object[][] getData(String methodName){
                .........
                ...........
                return Object[][];
          }      
    }    

    test.java

            //This test method declares that its data should be supplied by the Data Provider
            //named "test1"
            @Test(dataProvider = "create", dataProviderClass = StaticProvider.class)
            public void test1(String n1, Integer n2) {
             System.out.println(n1 + " " + n2);
            }

    注意:dataProvider只能对使用@Test的方法使用

  • 相关阅读:
    WEB专用服务器的安全设置的实战技巧IIS设置
    Mysql服务无法启动的1067错误解决
    mysql noinstall 安装
    由于无法创建应用程序域,因此未能执行请求解决方案汇总
    黑客经验谈系列之入侵3389起源完整篇
    几个js写word的参考
    WIndows系统下安装mysqlnoinstall版本
    用微软安全工具加固网站安全 (URLScan Tool & IIS Lock Tool)
    Windows 2000 网络服务器安装完全手册
    工作五年的大佬分享他做实习生的那些感悟
  • 原文地址:https://www.cnblogs.com/sylvia-liu/p/4632332.html
Copyright © 2011-2022 走看看