QTP-오류 처리
QTP에서 오류를 처리하는 방법에는 여러 가지가 있습니다. QTP로 작업하는 동안 발생할 수있는 오류에는 세 가지 유형이 있습니다. 그들은-
- 구문 오류
- 논리적 오류
- 런타임 오류
오류 유형
구문 오류
구문 오류는 VBscripting 언어 문법으로 확인되지 않는 오타 또는 코드 조각입니다. 구문 오류는 코드 컴파일시 발생하며 오류가 수정 될 때까지 실행할 수 없습니다.
구문을 확인하려면 키보드 단축키 Ctrl + F7을 사용하면 아래와 같이 결과가 표시됩니다. 창이 표시되지 않으면 "보기"→ "오류"로 이동할 수 있습니다.
논리적 오류
스크립트가 구문 상 정확하지만 예상치 못한 결과를 생성하는 경우이를 논리적 오류라고합니다. 논리적 오류는 일반적으로 실행을 중단하지 않지만 잘못된 결과를 생성합니다. 논리적 오류는 다양한 이유, 즉 요구 사항에 대한 잘못된 가정이나 오해, 때로는 잘못된 프로그램 논리 (do-Until 대신 do-while 사용) 또는 무한 루프로 인해 발생할 수 있습니다.
논리적 오류를 감지하는 방법 중 하나는 피어 리뷰를 수행하고 QTP 출력 파일 / 결과 파일을 확인하여 도구가 예상대로 수행되었는지 확인하는 것입니다.
런타임 오류
이름에서 알 수 있듯이 이러한 종류의 오류는 런타임 중에 발생합니다. 이러한 종류의 오류의 이유는 무언가를 수행하려는 스크립트가 그렇게 할 수없고 스크립트가 실행을 계속할 수 없기 때문에 일반적으로 중지되기 때문입니다. 런타임 오류에 대한 고전적인 예는 다음과 같습니다.
- 파일을 찾을 수 없지만 파일을 읽으려는 스크립트
- 개체를 찾을 수 없지만 스크립트가 해당 특정 개체에 대해 작동하려고합니다.
- 숫자를 0으로 나누기
- 배열 요소에 액세스하는 동안 배열 인덱스 범위를 벗어남
런타임 오류 처리
코드의 오류를 처리하는 방법에는 여러 가지가 있습니다.
1. Using Test Settings− 아래 그림과 같이 "파일">> "설정">> "실행"탭으로 이동하여 테스트 설정에서 오류 처리를 정의 할 수 있습니다. 지정된 설정을 선택하고 "확인"을 클릭 할 수 있습니다.
2. Using On Error Statement − 'On Error'문은 VBScript 엔진이 사용자에게 친숙하지 않은 오류 메시지를 표시하도록 허용하는 대신 테스터가 런타임 오류를 처리 할 의도를 VBScript 엔진에 알리는 데 사용됩니다.
On Error Resume Next − On Error Resume Next는 VBScript 엔진에 오류 발생시 다음 코드 행을 실행하도록 알려줍니다.
On error Goto 0 − 테스터가 오류 처리를 끄는 데 도움이됩니다.
3. Using Err Object − 오류 객체는 코드를 쉽게 디버깅 할 수있는 런타임 오류 번호와 오류 설명을 캡처하는 VBScript 내의 내장 객체입니다.
Err.Number− Number 속성은 오류를 지정하는 숫자 값을 반환하거나 설정합니다. Err.Number 값이 0이면 오류가 발생하지 않은 것입니다.
Err.Description − Description 속성은 오류에 대한 간략한 설명을 반환하거나 설정합니다.
Err.Clear − Clear 메서드는 Err 개체를 재설정하고 관련된 모든 이전 값을 지 웁니다.
예
'Call the function to Add two Numbers Call Addition(num1,num2)
Function Addition(a,b)
On error resume next
If NOT IsNumeric(a) or IsNumeric(b) Then
Print "Error number is " & err.number & " and description is :
" & err.description
Err.Clear
Exit Function
End If
Addition = a+b
'disables error handling
On Error Goto 0
End function
4. Using Exit Statement− 종료 문은 Err 개체와 함께 사용하여 Err.Number 값을 기준으로 테스트 또는 작업 또는 반복을 종료 할 수 있습니다. 각 Exit 문을 자세히 살펴 보겠습니다.
ExitTest − 런타임 반복 설정에 관계없이 전체 QTP 테스트를 종료합니다.
ExitAction − 현재 동작을 종료합니다.
ExitActionIteration − 현재 반복되는 동작을 종료합니다.
ExitTestIteration − QTP 테스트의 현재 반복을 종료하고 다음 반복으로 진행합니다.
5. Recovery Scenarios − 오류 발생시 특정 조건에 따라 복구 시나리오가 트리거되며 별도의 장에서 자세히 다룹니다.
6. Reporter Object− Reporter Object는 이벤트를 실행 결과에보고하는 데 도움이됩니다. 관련 조치 / 단계가 합격 / 불합격인지 식별하는 데 도움이됩니다.
'Syntax: Reporter.ReportEventEventStatus, ReportStepName, Details,
[ImageFilePath]
'Example
Reporter.ReportEvent micFail, "Login", "User is unable to Login."