Передача параметра из 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" verbose="1">
    <test name="LoginTest">
    <parameter name="ExcelPath" value="D:/DataExcel.xls" />
        <classes>
            <class name="com.idp.testcases.TestCaseDemoFlow" />
        </classes>
    </test>

Here is part of my TestCase Class

@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 в тест вместе с поставщиком данных?

Или если нельзя

Можно ли передать Excelpath в поставщике данных без упоминания класса TestCasedemo в поставщике данных?


person Fowad Hamza    schedule 03.06.2016    source источник
comment
вы не можете использовать файл excel в качестве ресурса в проекте?   -  person Naman    schedule 03.06.2016


Ответы (1)


Вы можете попробовать использовать ITestContext для получения xml для теста:

Класс поставщика данных:

@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)  
{
person Naman    schedule 03.06.2016