Rational Functional Tester의 오브젝트 인식과 오브젝트 맵에 대해 자주 질문되는 내용(FAQ)

이 주제에서는 오브젝트 인식 및 테스트 오브젝트 맵과 관련하여 자주 질문되는 몇 가지 내용에 대한 응답을 제공합니다.

오브젝트 맵의 개념과 필요한 이유

오브젝트 맵은 오브젝트의 인식 특성 뿐만 아니라 레코딩하는 동안 수행된 각 오브젝트를 포함합니다. 각 특성에 대해, 맵에는 Rational® Functional Tester가 인식을 위해 해당 특성에 얼마나 많이 의존하는지 표시하는 가중치도 포함됩니다.

오브젝트 맵은 스크립트가 레코딩될 때 자동으로 채워지거나, 오브젝트를 맵에 추가하여 수동으로 채울 수 있습니다.

오브젝트 맵은 효율적인 스크립트 유지보수를 돕습니다. 테스트 중인 애플리케이션의 오브젝트가 수정될 때, 오브젝트 맵은 업데이트될 수 있는 단일 소스입니다. 맵을 업데이트하면 수정된 오브젝트를 참조하는 모든 스크립트가 업데이트된 오브젝트 정보를 사용합니다.

두 개의 서로 다른 오브젝트에서 동일한 이름을 갖는 경우 결과

Rational Functional Tester는 인식 특성 및 계층 구조에 따라 오브젝트를 구분합니다. 예를 들어, 다른 최상위 레벨 창에 단추가 있으면 맵에서 다른 단추로 표시됩니다. 두 개 이상의 서로 다른 오브젝트에서 동일한 이름을 갖는 경우 이름을 고유하게 만들기 위해 Rational Functional Tester는 오브젝트 이름에 second, third 등의 숫자 접미부를 추가합니다.

오브젝트의 동일한 인스턴스가 두 개 있는 경우(예: 브라우저의 두 인스턴스) Rational Functional Tester는 식별을 처리하는 방법을 제공합니다.

개인용 오브젝트 맵과 공용 오브젝트 맵에 대한 차이점

개인용 오브젝트 맵은 하나의 스크립트에서 사용합니다. 공용(공유) 오브젝트 맵은 여러 스크립트에서 사용합니다. 기본 설정은 각 스크립트가 개인용 오브젝트 맵을 사용하는 것입니다. 이 설정은 도구 학습을 시작하는 단일 사용자에게 적합합니다. 그러나 공통 애플리케이션에 대해 작업하는 테스터 팀은 하나의 맵에 글로벌하게 정의되는 오브젝트를 이용할 수 있도록 공유 오브젝트 맵을 사용해야 합니다.

인식 특성 가중치 의미와 사용 방법

가중치는 스크립트 실행 중에 오브젝트를 식별하기 위한 특정 특성의 중요도를 표시합니다. 가능한 설정값은 0(중요하지 않음)에서 100(매우 중요)까지입니다. 대부분 특성의 가중치를 변경할 수 있습니다. .class 특성은 고정이므로 변경할 수 없습니다.

가중치를 0으로 설정하면, 오브젝트 식별을 시도할 때 해당 특성의 값이 무시됩니다.

각 특성에 지정된 기본 가중치를 수정할 수 있습니까?

특성에 새 기본 가중치를 지정하고 또한 나중에 레코딩에서 오브젝트를 식별할 때 사용할 새 특성을 정의하려면 오브젝트 특성 구성 도구를 사용하십시오.

프로젝트의 모든 오브젝트나 특정 유형의 모든 프로젝트에 대한 특성 가중치 또는 값을 수정할 수 있습니다?

오브젝트 맵 찾기 및 수정 유틸리티를 사용하여 특성 이름, 특성 값 또는 다양한 사용자 정의 필터와 같은 기준과 일치하는 모든 오브젝트를 찾을 수 있습니다. 일치하는 오브젝트에 수행 가능한 조치에는 특성 추가, 특성 제거, 값 변경 및 가중치 변경이 포함됩니다. 수정은 한 번에 하나씩 또는 글로벌하게 오브젝트에 적용될 수 있습니다.

개인용 맵으로 작성된 스크립트를 공용 맵에 병합할 수 있습니까?

예. 스크립트를 병합하려면 파일 > 새로 작성 > 테스트 오브젝트 맵을 클릭하여 공용 맵을 새로 작성하십시오. 마법사 페이지가 열려 있으면 이를 닫으십시오. 작성된 맵을 마우스 오른쪽 단추로 클릭하고 오브젝트 병합을 선택하십시오. 표시되는 대화 상자에서 병합할 스크립트를 선택하십시오. 선택된 스크립트를 병합된 새 오브젝트 맵에 첨부하도록 선택된 Functional Tester 스크립트 연결 선택란을 선택하는지 확인하십시오.

여러 맵 병합에 대한 정보는 여러 개의 테스트 오브젝트 맵 병합을 참조하십시오.

개인용 맵을 공용 맵으로 만들 수 있습니까?

예. 다음 단계를 수행하여 개인용 맵의 컨텐츠를 공용 맵에 복사할 수 있습니다.
  1. 파일 > 새로 작성 > 테스트 오브젝트 맵을 선택하십시오.
  2. 새 공용 맵을 작성하려는 폴더를 선택한 다음 새 맵 이름을 입력하십시오. 이 테스트 오브젝트 맵을 새 Rational Functional Tester 스크립트의 기본 선택사항으로 설정하도록 선택란을 선택할 수도 있습니다. 다음을 클릭하십시오.
  3. 테스트 오브젝트를 복사해올 테스트 오브젝트 맵 및 스크립트를 선택하십시오.
  4. 공용으로 작성할 개인용 맵을 포함하는 스크립트를 선택하십시오. 새 테스트 오브젝트 맵과 선택된 스크립트 연결 선택란을 선택할 수도 있습니다.

오브젝트 맵 계층 구조의 변경이 모든 하위 오브젝트에 대해 오브젝트 맵에 새 섹션이 필요합니까?

삽입 또는 삭제로 인해 상위 노드의 특성이 변경되거나 새 노드가 계층 구조에 추가되는 경우 맵을 업데이트할 수 있습니다. 맵을 업데이트하려면, 맵 편집기를 사용하여 새로 삽입되는 상위를 갖는 오브젝트에 대한 참조를 삽입하십시오. 그러면 새 오브젝트의 하위 오브젝트에 대한 중복 참조를 가집니다. 이러한 각 참조에 대해, 맵 편집기가 오브젝트를 통합하도록 이전 오브젝트를 새 오브젝트로 끄십시오. 동일한 단계를 사용하여 맵 계층 구조에서 오브젝트를 삭제할 수 있습니다.

오브젝트 인식에 사용되는 특성을 수정할 수 있습니까?

예. 오브젝트 맵에서 오브젝트를 연 다음 테스트 오브젝트 > 인식 특성 업데이트를 선택하십시오. 오브젝트 검색기를 사용하여 오브젝트를 가리키십시오. 세 개의 분할창과 함께 인식 특성 업데이트 대화 상자가 표시되면, 모든 활성 특성 분할창에 있는 특성을 마우스 오른쪽 단추로 클릭하고 통합된 테스트 오브젝트 특성에 추가를 선택하십시오.

스크립트가 둘 이상의 오브젝트 맵을 참조할 수 있습니까?

아니오.

개별 오브젝트를 하나의 맵에서 다른 맵으로 복사할 수 있습니까?

아니오.

크기가 커지면서 오브젝트 맵의 성능 메트릭은 무엇입니까?

오브젝트 맵이 확장됨에 따라 맵을 열고 로드하는 데 필요한 시간이 늘어납니다.

스크립트를 실행할 때 오브젝트 맵은 실행 중에 처음 필요할 때 로드됩니다. Functional Test 스크립트를 사용하는 테스트 케이스 스위트가 있는 경우, 각 스크립트는 별도의 프로세스이므로 각 스크립트가 실행되면서 맵이 로드됩니다. 일반 애플리케이션은 약 2000-3000개 오브젝트를 가집니다(일부 맵은 더 많거나 적을 수 있음).

표 1에 표시되는 메트릭은 스크립트 실행 시에 계산되었지만 맵이 로드되는 때에도 적용할 수 있습니다. 이는 맵이 일반 크기를 넘어설 때까지는 맵 로드 시간의 현저한 증가가 발생하지 않음을 보여줍니다. 재생 시간은 맵이 로드될 때 스크립트 실행의 시작 시에만 증가하며, 맵이 로드되면 스크립트 실행을 늦추지 않습니다. 또한, 동일한 오브젝트 맵을 공유하는 중첩된 스크립트(callScript 함수 사용)는 스크립트 실행 중에 동일한 맵 인스턴스도 공유합니다. 따라서, 중첩된 스크립트는 로드 시간을 증가시키지 않습니다.

표 1. 오브젝트 맵 메트릭
맵에 있는 오브젝트 스크립트 실행 초 수 총계
10 X초
600 - 2000 X + 2초
2000 - 11000 X + 3초
11000 이상 X +10초

피드백