2016-09-08 6 views
0

오이 자바에서 조건부로 시나리오를 건너 뛰는 방법이 있습니까?오이 자바에서 조건부로 시나리오를 건너 뛰는 방법이 있습니까?

아래 이미지는 보도 자료 섹션에서 데이터를 사용할 수없는 경우 데이터 확인을 위해 작성된 시나리오를 건너 뛰고 싶습니다.

데이터를 사용할 수없는 시나리오가 있는지 먼저 확인하고 성공적으로 실행되면 나머지 시나리오는 건너 뜁니다.

When No Data is Available

When Data is Available

더 understainding에 대한 기능 파일을 추가 :

배경 : 나는 이동할 때 을 감안할 때 홈 페이지가 표시되는 "XYZ"메뉴 그런 다음 "보도 자료"섹션해야 표시 될

@News  
And "Press release" section should I check for No data present 

@News 
And "Press release" section should feature "latest News" portion 
And "Press release" section having "abc" link for pagination 

@News 
And in "Press release" section click on news link 
Then news details should be displayed 
위 파일에서210

, 경우 @News
그리고 "보도 자료"섹션 내가

반환 현재 데이터 없음 긍정적 인 결과를 확인해야 후 태그 @News에 해당 시나리오의 내 나머지는 대신, 아군해야 각각의 모든 시나리오에서 동일한 조건을 점검합니다.

+0

시나리오에서 단계를 말하고 있습니까? 아니면 전체 시나리오를 건너 뛰고 있습니까? 질문에 기능 파일을 추가 할 수 있습니까? – Grasshopper

+1

데이터를 확인하고 데이터가없는 경우 데이터를 추가하는 단계를 가질 수 있습니다. 단계를 전제 조건으로 사용하십시오. 감안할 때 .. 그리고 나는 어떤 데이터를 가지고있다. 그렇다면 ... 나는 어떤 데이터도 가지고 있지 않다. – lauda

+0

샘플 기능 파일 –

답변

0

QAF-Gherkin을 사용하는 경우 step listener을 사용하면됩니다. 예를 들어, 단계 오류시에는 AutomationError에 대한 원래 예외가 뒤틀리고 사용자의 시나리오는 오류 대신 건너 뛰게됩니다. 단계 메타 데이터를 설정하여 리스너에서 사용할 수도 있습니다. 다음은 코드 샘플입니다.

//This will called on step failure 
    @Override 
    public void onFailure(StepExecutionTracker stepExecutionTracker) { 
     TestStep step = stepExecutionTracker.getStep(); 
     String myCustomMetaDataVal = (String) step.getMetaData().get("my-custom-meta-data"); 
     if ("somevlaue".equalsIgnoreCase(myCustomMetaDataVal)) { 
      Throwable originalThrowable = stepExecutionTracker.getException(); 
      stepExecutionTracker.setException(new AutomationError("meaningful message", originalThrowable)); 
     } 
    } 
관련 문제