DescriptQTP/UFT의 ive 프로그래밍: 동적 및 정적
Descript프로그래밍 중이신가요?
Descriptive 프로그래밍은 정의가 Object Repository에 저장되지 않은 AUT의 Object에 대한 작업을 실행하는 데 사용됩니다. 이 메커니즘을 사용하면 Object Repository에서 식별을 우회하고 Object를 제공할 수 있습니다. Descript진술 자체에 이온이 있습니다.
개체 이름은 단순히 개체 저장소의 설명과 함께 스크립트의 개체를 매핑하는 데 사용됩니다. 즉, 스크립트와 객체 저장소에서 객체 이름을 변경하면 스크립트가 실행되어야 합니다. 이 개념에 대한 다음 비디오를 시청하세요.
LINK 비디오에 접근할 수 없는 경우
비디오 하이라이트
- 객체 삭제 Descript에이전트 이름 Win Edit의 이온 Box 개체 저장소에서. 테스트를 다시 실행하면 개체를 인식할 수 없어 실패하게 됩니다. 스크립트가 실패하는 이유를 살펴보겠습니다.
- 런타임 동안 Micro Focus UFT는 WinEdit 상자와 개체에서 수행되는 작업을 식별합니다. DescriptObject Repository의 ion은 Agent Name으로 저장됩니다. 이 이름을 사용하여 객체 저장소의 객체를 추적합니다. 부모의 경우 동일한 이름을 가진 두 개의 자식 객체를 가질 수 없습니다. 따라서 QTP는 저장소의 객체를 고유하게 매핑합니다. 그런 다음 Object Repository에 저장된 설명을 사용하고 이름을 설명으로 바꿉니다. 그런 다음 이 명령문을 사용하여 테스트 중인 애플리케이션의 객체를 식별합니다.
- 우리의 경우에는 이 개체 설명을 모두 삭제했기 때문에 스크립트가 실패합니다.
- 그러나 QTP가 개체 설명을 바꾸는 대신 테스터로서 스크립트에서 개체 설명을 직접 지정하면 어떻게 될까요? 이건 다름 아닌 "Descript라이브 프로그래밍”
유형 Descript라이브 프로그래밍
당신이 사용할 수 Descript두 가지 방법으로 프로그래밍
- 정적인
- 동적
정적인 Descript라이브 프로그래밍
정적 메서드에서 객체 식별을 위해 다음 형식으로 객체의 속성을 지정합니다.
property:=values,
이 형식은 속성 값 쌍이라고 하며 역쉼표로 묶여 있습니다.
귀하의 개체가 사용하는 경우 식별을 위한 여러 설명은 쉼표를 사용하여 지정할 수 있습니다.
따라서 우리의 경우 에이전트 이름에 대한 설명은 다음과 같습니다.
"nativeclass:=Edit", "attached text:=Agent Name:"
동적 Descript라이브 프로그래밍
동일한 작업을 수행하는 두 번째 방법은 Dynamic을 사용하는 것입니다. Descript라이브 프로그래밍
스크립트가 설명적 프로그래밍 개체 후보를 여러 번 사용하는 경우 각 명령문에 대한 모든 속성 값 쌍을 지정하는 것은 매우 번거로운 작업입니다.
그러한 경우에는 다음을 활용할 수 있습니다. Descript이온 등급 QTP에서 제공
문법 설명 객체를 생성하는 방법은 다음과 같습니다.
Set MyDescription = Description.Create(); MyDescription("property").Value = "property-value";
이것은 동적 방법
왜 사용 하는가? Descript프로그래밍 중이신가요?
비디오 대본
- 백만 달러짜리 질문은 객체 식별 프로세스가 QTP에 의해 처리될 때 DP를 사용하는 이유입니다.
- 당신이 취업 포털을 테스트하도록 배정받았다고 가정해 보세요. 포털에 검색어를 입력하고
- 테스트에서는 사용 가능한 모든 작업을 선택하고 적용 작업을 클릭할 것으로 예상합니다.
- 그러나 반영되는 작업 수는 검색 쿼리 및 스크립트 실행 시 사용 가능한 작업에 따라 달라지지만 반영될 작업 수를 미리 예측할 수 있는 방법은 없습니다.
- 이런 경우 설명적 프로그래밍을 사용할 수 있습니다. 체크박스의 개수와 이름을 모르더라도 객체의 클래스는 "WebCheck"로 알고 있습니다.Box"
- 당신은을 사용할 수 있습니다 ChildObject 메서드 특정 부모에 속한 객체를 반환하려면
- 다음과 같은 코드 줄 -
Set allObjects = Browser("Jobs").Page("QTP").ChildObjects()
- 이 페이지의 모든 하위 개체를 반환합니다.
- 하지만 우리는 WebCheck만을 원합니다Box 객체. 그렇게 하려면 필터 생성 객체를 만들고 해당 속성을 웹 체크 상자로 설정하고 이 필터를 ChildObjects 메서드의 인수로 전달할 수 있습니다.
- 이 경우에는 체크박스만 반환됩니다.
- 다음으로, 0부터 시작하여 전체 체크박스 컬렉션에 접근하고 모든 체크박스를 켜는 코드를 작성할 수 있습니다.
- 다음으로 적용 버튼을 클릭하여 테스트를 완료할 수 있습니다.
- VOUS pouvez의 aussi 사용 Descript자동 숨기기 패널, 계층 구조가 변경되는 객체, 중첩된 내부 객체, 하위 메뉴 등 기록하기 어려운 객체를 실행하기 위한 프로그래밍이 필요합니다.
- 설명 프로그래밍을 사용하여 고급 문자열 조작을 수행할 수도 있습니다.
- 인덱스 속성과 함께 설명적 프로그래밍은 어려운 개체를 식별하는 데 매우 유용할 수 있습니다.
- 개체 계층의 개체에 대해 프로그래밍 방식 설명을 사용하는 경우 후속 하위 개체에 대한 설명 프로그래밍을 사용해야 합니다.
- 예를 들어, 페이지 개체의 경우 설명 프로그래밍이 사용되었지만 후속 하위 개체에는 WinEdit 개체 저장소가 사용되어 올바르지 않습니다.
- 반대로 여기에서는 Page와 WinEdit 모두에 대해 올바른 설명 프로그래밍이 사용됩니다.