2013-08-07 23 views

Trả lời

10

Vâng, nó hoàn toàn có thể. Trong phương thức chú thích @BeforeMethod, bạn có thể chuyển đối số dựng sẵn tùy chọn của Object [] về cơ bản là một bản sao của các tham số được chuyển đến phương thức @Test. Trong trường hợp của tôi, tôi vượt qua 2 args phương pháp thử nghiệm của tôi:

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

Vì vậy, một cái gì đó như thế này (và nó không cần phải là một nhà máy 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

Cảm ơn rất nhiều @djangofan. Bạn đã cứu ngày của tôi !! –

+0

Đừng đánh giá thấp sức mạnh của TestNG! – djangofan

Các vấn đề liên quan