使用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