zoukankan      html  css  js  c++  java
  • TestNG传参的几种方式

    1. 通过parameter传参

    java代码部分:

    import org.testng.annotations.Parameters;
    import org.testng.annotations.Test;
    
    public class ParameterizedTest1 {
        @Test
        @Parameters("myName")  //这里可以带多个参数,且参数名要和xml文件里的一致;但不必与parameterTest()方法里的参数名一致,需要与其参数顺序一致。
        public void parameterTest(String myName) {
            System.out.println("Parameterized value is : " + myName);
        }
    }

    XML数据文件部分:

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="Suite1">
        <test name="test1">
    	<parameter name="myName" value="manisha"/> 
    	<classes>
    	    <class name="ParameterizedTest1" />
    	    </classes>
        </test>
    </suite>

    2. 通过dataprovider传参

    2.1 默认使用方法名作为dataprovider标识

    public class DataProviderTest {
         
        @DataProvider
        public Object[][] providerMethod(Method method){
            Object[][] result = null;
            if(method.getName().equals("testmethod1")){
                result = {{,1}};
            }else if(method.getName().equals("testmethod2")){
                result = {{,2}};
            }return result;
        }
         
        @Test(dataProvider="providerMethod")
        public void testmethod1(int param){
            System.out.println("method1 received:"+param);
        }
         
        @Test(dataProvider="providerMethod")
        public void testmethod2(int param){
            System.out.println("method2 received:"+param);
        }
    }

    2.2 通过dataprovider制定name标识传参

    public class DataProviderTest {
         
        @DataProvider(name="test"public Object[][] providerMethod(Method method){
            Object[][] result = null;
            if(method.getName().equals("testmethod1")){
                result = new Object[][]{new Object[]{1}};
            }else if(method.getName().equals("testmethod2")){
                result = new Object[][]{new Object[]{2}};
            }else{
                result = new Object[][]{new Object[]{3}};
            }
            return result;
        }
         
        @Test(dataProvider="test")
        public void testmethod1(int param){
            System.out.println("method1 received:"+param);
        }
         
        @Test(dataProvider="test")
        public void testmethod2(int param){
            System.out.println("method2 received:"+param);
        }
         
    }
  • 相关阅读:
    20180925-2 功能测试
    【PL/SQL编程】循环语句
    【PL/SQL编程】条件语句
    【PL/SQL编程】变量和常量
    【PL/SQL编程】数据类型说明
    【PL/SQL编程】注释说明
    【PL/SQL编程】SQL与PL/SQL的区别
    【SQL查询】查询结果翻译成其他值_decode
    【SQL查询】日期的转换_to_date/to_char
    【SQL查询】视图_view
  • 原文地址:https://www.cnblogs.com/jingwei/p/4794240.html
Copyright © 2011-2022 走看看