parameterization qtp explained with examples qtp tutorial 19
자바의 메소드에 배열을 전달하는 방법
=> QTP 교육 자습서 시리즈를 보려면 여기를 클릭하십시오.
학습 내용 :
QTP 매개 변수화 란 무엇입니까?
애플리케이션이 중복 데이터 레코드를 허용하지 않는 경우가 있습니다. 이 경우 고정 된 입력 데이터 집합으로 동일한 테스트 스크립트를 실행하면 데이터 중복으로 인해 응용 프로그램에서 오류가 발생할 수 있습니다. 이 문제를 방지하기 위해 QTP는 테스트 스크립트에 다른 테스트 입력을 허용하는 방법을 제공합니다.
외부 매개 변수를 통해 다른 입력 값을 제공하는이 프로세스를 매개 변수화라고합니다.
QTP의 매개 변수화 유형
변수 값은 다음과 같거나 매개 변수 유형은 다음과 같을 수 있습니다.
- 데이터 테이블 매개 변수
- 테스트 / 조치 매개 변수
- 환경 변수 매개 변수
- 난수 매개 변수
이 QTP 튜토리얼에서는 주로 Datatable을 사용한 매개 변수화에 초점을 맞출 것입니다. 다음 튜토리얼에서 다른 유형의 매개 변수화 방법에 대해 설명합니다.
QTP의 매개 변수화
gmail.com에서 몇 명의 사용자의 로그인 값을 확인하는 프로그램을 작성하려고한다고 가정 해 보겠습니다. 다음은 한 사용자에 대해 가지고 있지만 매번 다른 값을 사용하려는 코드입니다. 어떻게하나요?
한 사용자의 Gmail에 로그인하는 코드 :
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set 'swatiseela' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure 'sfgs686898' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click
이제 키워드보기로 이동하여 이메일 ID 및 비밀번호 설정 명령문의 값 열을 클릭하십시오.
매개 변수화를 시도 할 때 나타나는 일반적인 화면 :
보시다시피 값은 상수,이 경우 로그인 ID 인 'swatiseela'일 수 있습니다.
또는 매개 변수화 옵션을 선택하면 화면의 해당 필드가 활성화됩니다.
이 화면에서 데이터 테이블의 값, 환경 변수 또는 임의의 숫자로 선택한 값을 매개 변수화하도록 선택할 수 있습니다. 가장 자주 사용되는 소스는 데이터 테이블이므로 먼저 논의 할 것입니다.
이 외에도 특정 작업의 입력 및 출력 값을 값에 대한 매개 변수로 사용할 수 있습니다. 우리는 그것에 대해서도 잠시 후에 논의 할 것입니다.
예제와 함께 데이터 테이블을 사용한 QTP의 매개 변수화
Excel을 사용한 QTP의 매개 변수화
매개 변수 값을 ON으로 확인한 다음 이름 뒤에있는 Datatable 필드에 위치가 있습니다.
이름 데이터를 가져와야하는 데이터 테이블의 해당 열 이름입니다. 기본적으로 QTP는 이름을 제안합니다. 제안 된대로 유지하거나 필요에 따라 변경할 수있는 옵션이 있습니다.
글로벌 시트: 이 데이터 시트는 테스트의 모든 작업에 사용할 수 있습니다.
현재 작업 시트 또는 로컬 시트 : 이름에서 알 수 있듯이 특정 작업에 사용할 수있는 데이터 시트입니다.
글로벌 데이터 시트에 여러 행의 데이터를 추가하겠습니다. 이것은 암호 인코더 도구가 유용한 곳입니다. 이 도구에서 얻은 암호화 된 값을 데이터 시트에 넣을 수 있습니다.
내 데이터 시트는 다음과 같습니다.
매개 변수화 후 코드는 다음과 같습니다.
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('SignInName', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('GPassword', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close
위의 코드에서 이메일 ID 및 비밀번호 값이 데이터 테이블에서 가져온 것을 볼 수 있습니다.
이 코드는 다음 화면에서 '모든 행에서 실행'옵션을 ON으로 설정 한 경우 글로벌 시트의 모든 4 행 데이터에 대해 실행됩니다.
위의 화면을 사용하여 코드를 실행해야하는 행 수를 결정하지 않으려면 프로그래밍 방식으로 수행 할 수 있습니다. 이를 위해서는 위 화면에서 '한 번만 반복 실행'옵션을 선택하고 다음과 같은 방법으로 코드를 작성해야합니다.
for i=1 to datatable.GetRowCount SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync datatable.SetCurrentRow(i) varName=datatable.value('SignInName') varPwd=datatable.Value('GPassword') Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set varName Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure varPwd Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close next
2 회 반복 실행되는 테스트를 실행하면 테스트 결과 화면이 다음과 같이 표시됩니다.
코드를 검토하고 각 줄과 그 순서가 테스트를 성공적으로 실행하는 데 중요한 이유를 이해하는 데 시간을 보내고 싶습니다.
- 'for'루프 내에서 브라우저를 여는 이유는 무엇입니까?
- 왜 모든 곳에 sync 문이 있습니까?
- '기록 및 실행 설정 – 테스트가 종료 될 때 브라우저 닫기'옵션이 처리되도록하는 대신 프로그래밍 방식으로 마지막에 브라우저를 닫는 이유는 무엇입니까?
- 다시 말하지만, 'for'루프 안에 close 문이있는 이유는 무엇입니까?
위의 코드에서는이 테스트에서 변수를 선언하지 않았고, 명령문을 들여 쓰거나, 주석을 제공하지 않았습니다. 이것은 진술의 본질을 희석하고 싶지 않았기 때문에 의도적입니다. 다음 개념은 이러한 질문에 답할 것입니다.
AUT 상태 :
기본 규칙은 다음과 같습니다. 각 반복은 AUT가 동일한 상태로 시작하고 동일한 상태로 끝나야합니다.
- gmail.com 페이지를 여는 문이 for 루프 외부에있는 경우 첫 번째 반복에서는 테스트가 정상적으로 실행되지만 다음 반복에서는 gmail.com 페이지가 열리지 않고 테스트가 실패합니다.
- 브라우저를 닫는 명령문이 테스트에 포함되지 않은 경우 테스트는 각 반복마다 브라우저를 열고 데이터 테이블의 행 수에 대해 브라우저의 인스턴스 수만큼 열리게됩니다.
- close 문이 for 루프 밖에 있다면 너무 많은 브라우저로 끝날 것이라고 상상해보십시오.
- 동기화 문 : 특정 작업을 수행하기 전에 특정 페이지가 완전히로드 될 때까지 QTP 테스트가 대기하도록합니다.
항상 응용 프로그램을 시작된 상태로 되 돌리십시오. 이렇게하면 상호 작용할 각 반복에 대해 동일한 인터페이스를 제공 할 수 있습니다.
다음은 전역 대신 로컬 시트를 사용하는 경우의 코드입니다.
Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('Name', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('Pwd', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click
QTP에서 다음 값을 매개 변수화 할 수 있습니다.
- 체크 포인트.
- 선택한 단계의 개체 속성입니다.
- 선택한 단계에 대해 정의 된 작업 인수입니다.
- 개체 속성 대화 상자 또는 개체 리포지토리 창의 로컬 개체 리포지토리에 저장된 개체의 하나 이상의 속성입니다.
위는 또한 특정 테스트를 구동하는 데이터의 예입니다. 매개 변수화하는 방법을 살펴 보겠습니다. 기타 매개 변수 유형 다음 기사에서.
안드로이드를위한 최고의 무료 음악 다운로더
=> QTP 교육 자습서 시리즈를 보려면 여기를 방문하십시오.
추천 도서
- QTP의 매개 변수화 (2 부)-QTP 자습서 # 20
- QTP 자습서-25 개 이상의 Micro Focus QTP (Quick Test Professional) 교육 자습서
- 예제와 함께 텍스트 자습서로 셀레늄 찾기 요소
- 초보자를위한 심층 이클립스 튜토리얼
- QTP 자습서 # 18 – QTP 예제로 설명되는 데이터 기반 및 하이브리드 프레임 워크
- QTP 자습서 # 6 – 첫 번째 테스트를위한 QTP 기록 및 실행 설정 이해
- QTP 자습서 # 24-QTP 테스트에서 가상 개체 및 복구 시나리오 사용
- QTP의 설명 프로그래밍 및 QTP의 데이터베이스 연결-자습서 # 25