테스트 오브젝트에 대한 참조 등록 해제

헬퍼 스크립트 메소드는 테스트 오브젝트 맵을 사용하여 테스트 중인 애플리케이션의 오브젝트를 참조합니다. Functional Tester는 오브젝트에서 메소드가 호출될 때마다 이러한 맵핑된 오브젝트를 찾습니다. 그러나 어떤 경우 Functional Tester가 이를 수행하지 않게 하고 싶을 수도 있습니다.

예를 들어, 같은 오브젝트에서 많은 메소드를 직접 호출하고자 하는 데 해당 오브젝트에서 메소드가 호출될 때마다 Functional Tester가 오브젝트를 찾기 위해 시간을 낭비합니다. Functional Tester가 오브젝트에서 메소드를 호출하지 않고 TestObject.find 메소드를 사용하여 오브젝트를 찾을 수 있습니다. TestObject.find는 테스트 중인 애플리케이션에서 여러 가지 유형의 오브젝트에 대한 참조를 포함하는 새 TestObject를 리턴합니다. 이러한 참조를 연결된 참조, 발견된 참조 또는 맵핑되지 않은 참조라고 합니다.

연결된 참조에서는 참조를 명시적으로 등록 해제할 때까지 테스트 중인 애플리케이션의 오브젝트에 대한 액세스를 유지합니다. Functional Tester는 스크립트를 종료할 때가 아니라 전체 재생이 종료할 때에만 연결된 참조를 등록 해제합니다. 오브젝트에 대한 연결된 참조가 있는 동안에는 Functional Tester가 애플리케이션의 오브젝트 전체를 해제시키지 못하도록 합니다. 예를 들어, Java™ 오브젝트에 대한 연결된 참조를 보유하고 있는 동안에는 Java 오브젝트가 여전히 유용합니다. 하지만 이러한 오브젝트가 더 이상 필요하지 않게 되면 작성한 모든 연결된 참조를 명시적으로 등록 해제해야 합니다.

일반 Functional Tester 스크립트의 경우, 맵핑된 참조를 포함하는 TestObjects만이 헬퍼 스크립트의 메소드입니다. 기타 다른 TestObjects에는 연결된 참조가 포함되므로 등록 해제되어야 합니다. 예를 들어, TestObject.getTopParent 메소드는 명시적으로 선언되어 TestObject를 를 리턴합니다. 기타 메소드도 java.lang.Object를 리턴하도록 선언되었지만, 등록 해제해야 하는 TestObject를 리턴할 수 있습니다. 예를 들어, TestObject.getProperty.

RationalTestScript에는 com.rational.test.ft.script.RationalTestScript.unregisterunregisterAll을 포함하여 TestObjects에 대한 참조를 제거하는 여러 메소드가 들어 있습니다. 이러한 메소드에 대한 자세한 정보는 Functional Tester API 참조를 참조하십시오.

TestObjects가 아닌 테스트 중인 애플리케이션에서 리턴된 오브젝트는 값을 표시하는 오브젝트입니다. 이러한 유형의 오브젝트를 값 클래스라고 합니다. 값 클래스는 테스트 중인 애플리케이션의 오브젝트에 대한 참조가 아닌 테스트 중인 애플리케이션의 오브젝트 사본입니다. 값 클래스의 공통 예제는 java.lang.Integerjava.awt.Rectangle입니다.

Functional Tester 레코더 및 마법사는 값 클래스를 리턴하는 코드만 생성합니다. 예를 들어, 오브젝트 특성 테스트 케이스에서 보는 특성은 값이 값 클래스인 특성입니다. TestObject.getNonValueProperties를 호출하여 특정 오브젝트에 사용 가능한 참조 특성을 찾을 수 있습니다. TestObject.getMethods를 호출하면 TestObject.invoke를 통해 호출할 수 있는 모든 메소드 목록을 볼 수 있습니다.

테스트 중인 애플리케이션의 오브젝트 참조가 포함되는 TestObjects를 직접 처리할 때는 주의하십시오. 이렇게 하면 애플리케이션이 불안정한 상태가 될 수 있습니다. 가능한 빨리 이러한 TestObjects를 등록 해제하십시오.


피드백