프록시 코드를 디버깅하는 것은 문제점 판별을 위한 프록시 개발
프로세스에서 필수적인 부분입니다. 확장자가 .dll인 .Net 어셈블리 파일
또는 JAR 파일이 들어 있는 프록시 코드가 테스트 중인 애플리케이션
프로세스에 로드됩니다. 프록시 코드를 디버그하려면 프록시 2진 파일이
AUT에 로드된 후 AUT 프로세스에 각각의 디버거를 첨부하십시오.
프록시 코드 디버그에 사용할 로그 구현 Functional Tester는 개발된
프록시 코드를 디버깅하는 동안 사용할 수 있는 로그 기반 구조를 제공합니다.
FTDebug 클래스는 Java 및 .Net 프록시 개발 프레임워크 둘 다에 있습니다.
각각의 프록시 클래스에 맞게 FTDebug 클래스 오브젝트를 인스턴스화할 수 있으며
모든 정보, 경고 또는 오류 메시지를 범주별로 기록할 수 있습니다.
사용자 정의 디렉토리에 프록시 2진 파일의 디버그 버전을
저장한 후 Functional Tester를 다시 시작하십시오.
Java의 경우,
Functional Tester 인에이블러와 함께 AUT가 사용하는 JRE를 사용하십시오.
.Net의 경우, .Net AUT를 시작하고 Functional Tester를
사용하는 모든 제어에 대한 클릭을 레코드하여 테스트하는 데 사용하십시오.
주: Windows® 및
.Net 애플리케이션에서 첫 번째 클릭이 레코드될 때만 프록시 어셈블리 .dll 파일이 로드됩니다. Windows 및 .Net 애플리케이션은
테스트를 위해 동적으로 사용됩니다. Java의 경우 애플리케이션 구성자
도구가 AUT를 사용합니다.
호출 제한시간 설정
디버깅 프록시는 시간에 민감하며 기본적으로 호출
제한시간은 2분입니다. 디버깅의 제한시간을 조정하려면 Windows
레지스트리의 HKEY_LOCAL_MACHINE\SOFTWARE\Rational Software\RationalTest\8\Options에
DWORD 값 InvocationTimeout(밀리초)을 추가하십시오. 디버깅 중
제한시간은 SpyMemory MutexTimeout 예외를 처리합니다.
레코드 디버깅
getChildAtPoint() 메소드는 레코드에 사용할 프록시 디버깅의
시작점입니다. 모든 사용자 조치는 AUT에서 이벤트를 확인하기 전이라도 processMouseEvent()
메소드를 호출합니다. Functional Tester는 사용자
조치를 처리합니다. 예를 들어, 조치가 클릭인지 또는 끌어오기인지 여부에 따라 적절히
메소드 스펙 및 인수가 생성됩니다. 최상의 결과를 얻으려면 이러한
메소드를 사용하여 중단점 삽입을 시작하십시오.
재생 디버깅
getMappableChildren() 메소드는 재생에 사용할 프록시 디버깅의
시작점입니다. 프록시 개발 시 일어나는 대부분의 ObjectNotFound 문제점은
레코드에서 생성하는 오브젝트 계층 구조와 재생하는 동안 생성된
계층 구조 간의 불일치 때문에 발생합니다. getMappableParent()와
getMappableChildren() 메소드가 대칭이 되도록 확인하십시오.