작업 QTP/UFT 예와 함께

⚡ 스마트 요약

작업 UFT/QTP 테스트 스크립트를 논리적이고 재사용 가능한 단위로 나누면 테스터가 자동화를 더 빠르게 구축, 유지 관리 및 공유할 수 있습니다. 이 페이지에서는 세 가지 액션 유형, 액션을 분할하고 호출하는 방법, 그리고 액션 간에 데이터를 전달하는 방법을 설명합니다.

  • 🧩 정의: 액션은 일련의 테스트 단계를 하나의 모듈식 재사용 가능 단위로 그룹화합니다. UFT/QTP 스크립트.
  • 🔁 재사용 가능한 액션: 동일한 테스트 내에서 또는 다른 테스트에서 동일한 작업을 여러 번 호출할 수 있습니다.
  • 🔒 재사용할 수 없는 작업: 해당 테스트가 생성된 테스트 내에서만 한 번 실행됩니다.
  • 🌐 외부 조치: 재사용 가능한 액션은 다른 테스트에서 호출될 때 읽기 전용 외부 액세스 권한이 됩니다.
  • ✂️ 파편: 규모가 큰 작업을 독립적인 형제 작업이나 중첩된 부모-자식 쌍으로 분할합니다.
  • 📞 호출 작업: 새로운 액션을 삽입하거나, 기존 액션을 복사하거나, 기존 액션을 호출합니다.
  • 📤 매개 변수 : RunAction 문을 사용하여 액션 간에 입력 및 출력 값을 전달합니다.
  • 🗂️ 데이터 시트: 테스트 전체 데이터는 글로벌 시트에, 개별 데이터는 각 작업의 로컬 시트에 저장하세요.

행동이란 무엇인가 UFT/QTP?

행위 in UFT/QTP 테스트를 "논리적 단위" 또는 "비즈니스 프로세스"로 나눕니다. 각 액션은 로그인, 항공편 검색 또는 티켓 예약과 같이 명확하게 구분되는 작업을 수행하는 단계를 그룹화합니다. 액션을 사용하면 스크립트를 더욱 모듈화하고 효율적으로 만들 수 있습니다.

스크립트를 새로 생성하면 하나의 액션만 포함됩니다. 마이크로 포커스에 액션을 추가할 수 있습니다. UFT 요구 사항에 따라 스크립트를 작성하고, 추가되는 각 액션은 테스트의 나머지 부분과 분리된 자체 로직 및 로컬 데이터를 유지합니다.

긴 스크립트를 액션으로 나누는 것은 테스트 변경이 필요할 때 큰 도움이 됩니다. 테스터는 로그인 시퀀스와 같은 특정 액션을 업데이트할 때 다른 액션에 있는 검색이나 결제 로직을 건드리지 않고도 수정할 수 있습니다. 이러한 분리 덕분에 액션은 재사용 가능한 구성 요소가 되어 다른 스크립트에서 동일한 단계를 반복해서 기록하는 대신 호출할 수 있게 됩니다.

예를 들어, 일반적인 항공편 예약 스크립트는 로그인 작업, 항공편 검색 작업, 티켓 예매 작업으로 깔끔하게 나뉩니다. 각 작업은 고유한 단계와 로컬 데이터를 가지므로 로그인만 확인하면 되는 테스터는 예약 흐름을 기록하거나 관리할 필요가 전혀 없습니다.

행동 유형 UFT/QTP재사용 가능, 재사용 불가능 및 외부

UFT/QTP 세 가지 유형의 액션을 지원하며, 선택한 유형에 따라 해당 액션을 여러 스크립트에서 공유할 수 있는지 또는 생성된 테스트에서만 사용할 수 있는지 여부가 결정됩니다.

액션 유형 실행 가능한 위치 호출 테스트에서 편집 가능
재사용 동일한 검사를 여러 번 실시하든, 또는 다른 어떤 검사를 실시하든 네, 해당 테스트를 소유한 곳에서 나온 것입니다.
재사용 불가능 해당 테스트가 생성된 곳에서만, 그리고 단 한 번만. 가능
외부 재사용 가능 다른 테스트에서 공유 저장 액션으로 호출됨 아니요, 읽기 전용입니다. 로컬 데이터 테이블 복사본만 편집할 수 있습니다.

재사용 가능한 액션은 다음과 같습니다. 외부 작용 다른 테스트에서 해당 액션을 호출하는 순간, 원래 액션을 소유한 테스트가 아닌 다른 테스트에서 호출하게 됩니다. 외부 액션은 호출하는 테스트에서 읽기 전용으로 유지됩니다. 공유 액션은 수십 개의 스크립트에서 동시에 사용될 수 있으며, 모든 호출자가 단계를 편집할 수 있도록 허용하면 다른 스크립트가 제대로 작동하지 않게 되기 때문입니다. 하지만 호출을 매개변수화하고 데이터 테이블의 복사본을 사용하여 로컬에서 작업할 수는 있습니다.

일반적으로, 새로운 액션은 해당 로직이 특정 테스트에만 적용되는 동안에는 재사용할 수 없도록 유지하는 것이 좋습니다. Promo두 번째 스크립트에서 동일한 단계를 필요로 하는 즉시 재사용 가능하도록 만들고, 두 번째 스크립트에서 실제로 호출하는 순간 외부의 읽기 전용 작업처럼 동작할 것으로 예상하십시오.

분할, 복사 및 액션 호출 방법 UFT

행동이 커질수록, 유지하세요ping 모든 단계가 한 곳에 모여 있으면 스크립트의 디버깅과 재사용이 어려워집니다. UFT 기존 작업이 다루기 어려워지면 두 가지 방식으로 분할할 수 있습니다.

  • 독립(형제) 분할: 선택된 동작은 순차적으로 실행되는 두 개의 개별 동작으로 나뉘며, 각 동작은...ping 자체 로컬 데이터 테이블.
  • 중첩된(부모-자식) 분할: 선택된 동작은 상위 동작으로 나뉘며, 상위 동작의 마지막 단계는 하위 동작을 호출하여 두 동작 간의 논리적 종속성을 유지합니다.

일단 행위가 존재하게 되면, UFT 테스트에 액션을 가져오는 세 가지 방법을 제공합니다. 끼워 넣다 메뉴:

  • 새로운 작업 유도 문구를 삽입하세요: 현재 테스트 내부에 새롭고 비어 있는 액션을 생성합니다.
  • 클릭 유도 문구 삽입: 기존 액션을 체크포인트, 매개변수 설정 및 데이터 테이블 탭을 포함하여 전체 내용 그대로 호출하는 테스트에 복사합니다. 복사본은 완전히 독립적이므로 원본을 편집해도 원본에 영향을 미치지 않으며 원본 또한 원본에 영향을 미치지 않습니다. 재사용 가능한 액션과 재사용 불가능한 액션 모두 복사할 수 있습니다.
  • 기존 작업에 대한 호출 삽입: 다른 테스트에 저장된 재사용 가능한 액션에 대한 읽기 전용 호출을 삽입합니다. 이 호출은 생성된 테스트에서만 수정할 수 있으므로 모든 호출자가 동기화 상태를 유지하고 대규모 테스트 스위트를 관리하기 쉽게 만듭니다.

모든 호출은 다음과 같이 집계됩니다. RunAction 전문가 의견에 포함된 내용:

' Calls Action2, which is stored in Test2, running it for one iteration
RunAction "Action2[Test2]", oneIteration

액션은 액션 호출 속성에 지정된 횟수만큼 실행됩니다. 예를 들어, Action2가 Test2의 데이터 테이블의 모든 반복에서 실행되도록 설정되어 있지만 Test1의 호출 액션1이 한 번만 실행되더라도, 호출 자체가 한 번만 트리거되므로 Action2는 여전히 한 번만 실행됩니다.

💡 팁: 테스트에 여러 작업이 포함된 경우, 다음을 엽니다. 테스트 흐름 보기 메뉴에서 창을 드래그하여 순서를 변경할 수 있습니다. 이렇게 하면 표시되는 순서가 바뀝니다. UFT 각 액션 내부의 단계를 수정하지 않고 액션을 실행합니다.

아래 영상은 이전 튜토리얼에서 만든 5단계 로그인 스크립트를 기반으로 작성되었습니다. 항공편 예약 이 영상은 액션을 생성, 분할 및 호출하는 전 과정을 단계별로 안내합니다. 이 카테고리에서 가장 긴 영상입니다. UFT/QTP 튜토리얼 시리즈그러므로 시청하면서 메모하는 것이 도움이 됩니다.

여기에서 확인하세요 비디오에 접근할 수 없는 경우

액션 간에 매개변수를 전달하고 출력 값을 저장하는 방법

대부분의 실제 스크립트는 단순히 동작을 호출하는 것 외에도 데이터를 입력받고 결과를 다시 읽어내는 기능을 필요로 합니다. UFT 각 동작에 고유한 입력 및 출력 매개변수를 제공하고 반환 값을 저장하는 여러 가지 방법을 제공합니다.

액션으로 매개변수를 전달하고 액션에서 매개변수를 받는 방법

처럼 함수 또는 메서드 프로그래밍 언어에서 동작은 입력과 출력을 정의할 수 있습니다. 매개 변수이 매개변수는 와 아무런 관련이 없습니다. 테스트 데이터 매개변수화 앞서 설명했듯이, 여기의 매개변수는 데이터 테이블 열이 아니라 액션 자체에 속합니다. 해당 매개변수는 다음에서 구성할 수 있습니다. 편집 > 작업 > 작업 속성또는 키워드 보기에서 해당 작업을 마우스 오른쪽 버튼으로 클릭하여 확인할 수 있습니다. 다음 구문을 사용하여 호출 시 값을 전달하세요.

' Passes an input value and captures the action's output into myResult
RunAction "Action1", oneIteration, "testuser", myResult

액션의 출력값 저장하기

스크립트의 나머지 부분에서 필요한 것에 따라, 액션이 반환하는 값을 다음 세 가지 위치 중 하나에 저장할 수 있습니다.

  • 변수: RunAction "Action1", oneIteration, "testuser", myResult 출력을 직접 저장합니다. myResult.
  • An 환경 변수: 사용자 정의 변수를 아래에 생성하세요 파일 > 설정 > 환경그런 다음 쓰세요 RunAction "Action1", oneIteration, "testuser", Environment("env_var").
  • 데이터 테이블 열: RunAction "Action1", oneIteration, "testuser", DataTable("A", dtGlobalSheet) 결과를 전역 시트에 바로 기록합니다.

글로벌 및 로컬 데이터 시트

액션은 두 종류의 시트를 통해 테스트 데이터를 읽고 씁니다. 글로벌 데이터 시트 이 변수는 테스트 전체에서 고유하며, 모든 작업이 이 변수를 읽거나 쓸 수 있고, 항상 "Global"이라는 이름으로 지정됩니다. 현지 데이터 시트 이 변수는 각 액션마다 고유하며, 해당 액션의 이름을 따서 명명되고, 해당 액션만 읽거나 쓸 수 있습니다.

액션 종료 및 반복 제어

어떤 단계에서 작업을 완료할 때까지 실행하는 대신 조기에 중단해야 할 경우, UFT 네 가지 진술을 제공합니다:

  • ExitAction — 현재 동작만 중지합니다.
  • ExitActionIteration — 현재 실행 중인 작업을 중지하고 다음 작업으로 넘어갑니다.
  • ExitRun — 전체 테스트 실행을 즉시 중지합니다.
  • ExitGlobalIteration — 현재 진행 중인 글로벌 테스트 반복을 중지하고 다음 단계로 넘어갑니다.

실행하는 동안 UFT/QTP 스크립트 액션을 사용하는 경우, 전역 반복과 지역 반복을 모두 염두에 두어야 합니다. 둘 다 액션이 실제로 실행되는 횟수에 영향을 미치기 때문입니다. 호출된 액션의 반복 빈도는 설정을 열어서 변경할 수 있습니다. 액션 호출 속성 > 실행 탭을 클릭하고 거기서 반복 모드를 설정하세요.

⚠ 흔히 저지르는 실수: 로컬 반복마다 실행되도록 설정된 호출된 액션이 한 번만 실행되는 부모 액션에 의해 트리거되는 경우에도 한 번만 실행됩니다. 호출된 액션이 반복 실행될 것이라고 가정하기 전에 부모 액션의 전역 반복 횟수와 자식 액션의 액션 호출 속성을 모두 확인하십시오.

자주 묻는 질문

액션은 내장된 기능입니다. UFT 이 기능은 자체 객체 저장소와 데이터 테이블을 가지고 있으며 재사용 가능할 수도 있고 그렇지 않을 수도 있습니다. 기능 이 코드는 순수 VBScript로 작성되었으며, 항상 재사용 가능하고, 자체적인 객체 저장소나 데이터 테이블을 가지고 있지 않습니다.

예. 액션의 속성을 열고 언제든지 재사용 가능 여부를 설정할 수 있습니다. 이전에 재사용 가능했던 액션을 재사용 불가능으로 표시하더라도 다른 테스트에서 해당 액션을 계속 호출하는 경우, 호출하는 테스트가 실패하게 됩니다. UFT 통화가 삭제될 때까지 경고 메시지가 표시됩니다.

액션은 독립형 스크립트 파일이 아닌 .mtr/.mts 액션 폴더로 테스트와 함께 저장됩니다. 반면 함수 라이브러리는 모든 테스트에서 연결하여 재사용할 수 있는 별도의 .vbs 또는 .qfl 파일로 저장됩니다.

네. AI 기반 테스트 설계 도구는 녹화된 흐름을 분석하여 로그인, 검색, 결제와 같은 논리적 분기점을 후보 동작으로 제안할 수 있습니다. 하지만 테스터는 최종 확정 전에 해당 분기점이 실제 재사용 요구 사항과 일치하는지 확인해야 합니다.

도움이 됩니다. 자체 복구 객체 식별 기능은 이동되거나 이름이 변경된 컨트롤을 액션 내에서 다시 연결하여 오류를 발생시키지 않으므로 여러 스크립트에서 공유되는 재사용 가능한 외부 액션의 유지 관리 부담을 줄여줍니다. Rev완전히 신뢰하기 전에 수리된 물건들을 먼저 살펴보세요.

이 게시물을 요약하면 다음과 같습니다.