2011-09-13 6 views
0

저는 dataProvider를 사용하여 TestNG와 함께 Selenium을 사용하고 있습니다. 나는 100 개의 이름을 가진 명부를 확인하고있다. 필자는이 모든 것을 A 셀에서 구분 된 콤마로 된 엑셀 시트에 추가했습니다.verifyTrue를 사용하려면 어떤 클래스를 가져와야합니까?

import static org.testng.AssertJUnit.*; 
public class example extends Base{ 
    @Test(dataProvider="List") 
    public void isListofNamesPresent(String names) throws Exception 
    String list[] = names.split(","); 
    for(int i=0; i<list.length; i++){ 
     assertTrue(selenium.isTextPresent(list[i])); 
     Reporter.log("Type of Case:"+ names +" are present"); 
    } 
} 

은 위의 코드는 데이터의 한 라운드가 .Since (아론, 제임스, 잭, Hegin, 헨리)와 같은 셀에 배치됩니다 이름 목록을 주장 : 나는 다음과 같이 자바로 프로그래밍 한 assertTrue로 인해 실제와 예상 사이에 오류가 있으면 메소드를 종료합니다. verifyTrue를 주면 실제 목록과 예상 목록이 일치하지 않아도 모든 목록을 실행해야합니다.

누구든지 verifyTrue를 사용하는 방법을 말해 줄 수 있습니까? 나는 어떤 수업을 들여야 하는지를 의미한다. 이미 기본 클래스를 확장 했으므로 클래스를 확장 할 수 없습니다. 따라서 모든 가져 오기가 수행됩니다. 나는 SeleneseTestCase로 시도했지만 운이 없다. 사전에

덕분에

답변

0

당신이 같은 무언가를 자신의 verifyTrue() 방법을 생성하는 것입니다 할 수있는 또 다른 방법 당신은 verifyTrue를 (사용 SeleneseTestBase 클래스를 가져올 수 있습니다

public static void verifyTrue(boolean condition, String message) { 
    try { 
     Assert.assertTrue(condition, message); 
     log("Expected value: true" + " Actual value: " + condition + " - PASSED ", true); 
    } catch (Throwable e) { 
     log("Expected value: true" + " Actual value: " + condition + " - FAILED " + message, true); 
     addVerificationFailure(e); 
    } 
} 
+0

위의 코드는 assertTrue를 암시 적으로 사용하는 방법을 보여줍니다. 내가 이해하는 바와 같이, 포스터는 어설트 트루 대신 verifyTrue를 사용하려고합니다. 따라서 assertTrue를 제외하고 verifyTrue를 사용하는 코드가 필요합니다. –

+0

위의 메소드는 assert의 예외를 포착하기 때문에 포스터의 assertTrue 문제를 해결합니다. - verifyTrue는 이스케이프를 발생시키지 않습니다. – mcole

0

) 아래 :

0이 어설 션 오류를 잡으려고

SeleneseTestCase도 사용할 수 있지만 더 이상 사용되지 않습니다. 그래서. SeleneseTestBase를 사용하는 것이 더 좋습니다.

관련 문제