这是我的Testng.xml套件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1" verbose="1">
<test name="LoginTest">
<parameter name="ExcelPath" value="D:/DataExcel.xls" />
<classes>
<class name="com.idp.testcases.TestCaseDemoFlow" />
</classes>
</test>
这是我的TestCase类的一部分
@Test(priority = 1, dataProvider = "SDLogin",dataProviderClass=ExampleDataProvider.class)
public static void testLogin(String myAccountName, String myAccountPassword)
{
System.out.println("myAccountName="+myAccountName);
System.out.println("myAccountPassword="+myAccountPassword);\
}
我的问题是如何将ExcelPath参数从xml套件传递给Test以及Dataprovider?
或者如果不可能
是否可以在数据提供者中传递Excel路径而不提及DataProvider中的TestCasedemo类?
答案 0 :(得分:0)
您可以尝试使用ITestContext获取用于测试的xml:
DataProvider类:
@DataProvider(name = "SDLogin")
public static Object[][] dataProviderLogin(ITestContext context) throws Exception {
String dataFile = context.getCurrentXmlTest().getLocalParameter(); //to get the params for *test*
}
测试类:
@Test(priority = 1, dataProvider = "SDLogin",dataProviderClass=ExampleDataProvider.class)
public static void testLogin(String myAccountName, String myAccountPassword, String param)
{