2014-04-25 6 views
2

Verify을 구현하는 Java 코드를 작성하는 방법을 이해할 수 없습니다. 항상 Assert을 구현하는 코드를보고 있지만 Verify은 그렇지 않습니다. 나는 우리가 다음과 같이 코드를 작성해야 Assert 알고 :Java Selenium WebDriver 코드 대신 Assert를 구현하십시오.

Assert.assertTrue() 

또는

Assert.assertEquals() etc. 

그러나 Verify에 대한

? verify을 사용하여 사용자가 응용 프로그램에 로그인하면 내 응용 프로그램의 제목을 확인하려고합니다. 어떻게해야합니까?

+0

어떤 테스트 프레임 워크를 사용 했습니까? TestNG 또는 JUnit입니까? –

답변

1

Assert 문만 지원하는 TestNG 프레임 워크를 사용해야합니다. Verify 문은 지원하지 않습니다. 당신은 TestNG의 Javadoc에 대한 다음 URL을 방문 할 수 있습니다 : 어설 모든 테스트 단계를 실패 할 때이 "확인"할 때 코드 줄은 를 건너 뛴 후 실패 http://seleniumonlinetrainingexpert.wordpress.com/2012/11/20/what-is-the-difference-between-assert-and-verify-in-selenium/

에서

http://testng.org/javadocs/

을, 테스트가 계속됩니다 실행 및 실패 기록

Verify 문을 사용하려면 Junit 프레임 워크를 사용해야합니다.

+0

예 맞습니다. 지금 확인했습니다. – user2408070

+1

JUnit에서 '확인'을 사용하기 위해 가져올 패키지는 무엇입니까? –

0

TestNG는 verify 문을 지원하지 않지만 쉽게 구현할 수 있습니다. 가장 간단한 방법은 아래처럼 시험 방법에 자바의 StringBuffer를 사용하는 것입니다

해당 인터페이스에서 두 가지 방법을 구현해야 어디 TestNG를의 IInvokedMethodListener 인터페이스를 사용할 수있는 고급 구현을 위해
@Test 
public void verifyTest(){ 

    /* buffer to hold your errors */ 
    StringBuffer errorBuffer = new StringBuffer();  

    /* verification 1 */ 
    try{   
     Assert.assertEquals("value1", "value!");    
    }catch(AssertionError e){   
     errorBuffer.append(e.getMessage() + "\n");  
    }  

    /* verification 2 */ 
    try{    
     Assert.assertEquals("value2", "value!");    
    }catch(AssertionError e){   
     errorBuffer.append(e.getMessage());  
    } 

    if(errorBuffer.length() > 0){ 
     throw new AssertionError(errorBuffer.toString()); 
    } 

} 

,

public class TestMethodListener implements IInvokedMethodListener{ 

    @Override 
    public void beforeInvocation(IInvokedMethod method, ITestResult testResult) { 

     if(method.isTestMethod()){    
      /* create new error buffer object */     
     } 

    } 

    @Override 
    public void afterInvocation(IInvokedMethod method, ITestResult testResult) { 

     if(method.isTestMethod()){    
      /* process your test result for verification errors stored in error buffer 
      * and modify your testResult object accordingly 
      */     
     } 

    } 

} 

대부분의 경우 고급 구현을 위해 갈 필요가 없습니다. 간단한 StringBuffer 작동합니다. 그러나 테스트에서 자주 verify 문을 사용하려면 IInvokedMethodListener를 구현하는 것이 타당합니다. 고급 구현에 관심이 있다면이 블로그를 확인하십시오. https://muthutechno.wordpress.com/2015/01/26/implementing-verify-statements-for-testng-framework/