天天看點

TestNG參數化測試之使用testng.xml

使用testng測試架構,給測試方法傳參數有兩種方法,一種是在testng.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"/> 
        <parameter name="sex" value="man"/> 
	<classes>
	    <class name="ParaTest1 " />
	    </classes>
    </test>
</suite>
           

測試代碼:

import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class ParaTest1 {
    @Test
    @Parameters({"myName","sex"})
    public void parameterTest(String myName,String sex) {
        System.out.println(" myName+" "+sex);
    }
}
           

我們還可以定義參數在<suite>級别。假設我們已經定義在兩個<suite>和<test>級别myName,在這種情況下,正常的作用域規則适用。這意味着,任何類裡面<test>标簽将檢視值參數定義在<test>,而testng.xml檔案中的類的其餘部分将看到定義在<suite>中值,TestNG 對testng.xml 的參數的類型指定的值會自動嘗試轉換。下面是支援的類型:

String

int/Integer

boolean/Boolean

byte/Byte

char/Character

double/Double

float/Float

long/Long

short/Short