2013-08-07 8 views

Odpowiedz

10

Tak, jego całkowicie możliwe. W metodzie adnotowanej @BeforeMethod można przekazać opcjonalny wbudowany argument Object [], który jest w zasadzie kopią parametrów przekazywanych do metody @Test. W moim przypadku, mijam 2 args do mojego metody badawczej:

@Test(dataProvider="provider") 
public void doTest(TestHelper testHelper, Map<String,String> paramMap) { 
    .... 

Tak, coś w tym (i to nie musi być fabrycznie DataProvider):

@BeforeMethod 
public void setUp(Object[] testArgs) { 
    Map<String,String> paramMap = (Map<String, String>)testArgs[1]; 
    TestHelper testHelper = testArgs[0]; 
    String testName = paramMap.get("testCaseName"); 
    log.logTcStep("Test case name: " + testName); 
    log.setLogTcName(testName); 
    testHelper.setTestName(testName); 
    testHelper.setTagsByString(paramMap.get("browser")); 
    testHelper.setBuildNumber(paramMap.get("environment")); 
} 
+0

Wielkie dzięki @djangofan. Uratowałeś mój dzień! –

+0

Nie lekceważ potęgi TestNG! – djangofan