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);
        }
         
    }
  • 相关阅读:
    后缀字符串 计蒜客模拟赛
    HDU 1087 最长不下降子序列 LIS DP
    POJ 3126
    Authorize by ClaimIdentity by Owin
    Authencation WebApi Learning
    Agency-AccrualDetails Table Summary
    EF usage with ABP
    Scss environment setup
    Tips about CSS usage
    Send Mail C#
  • 原文地址:https://www.cnblogs.com/jingwei/p/4794240.html
Copyright © 2011-2022 走看看