HTML 애플리케이션에서 스크립트를 레코딩할 경우 레코딩 중에 애플리케이션을 시작하려면 Functional Tester를 사용하십시오. Functional Tester는 기본 브라우저에서 또는 특정 브라우저에서 지정한 HTML 페이지를 엽니다.
HTML 애플리케이션에서 스크립트를 레코딩할 경우, 마우스를 드롭 다운 메뉴로 이동시킬 때 활성화된 드롭 다운 메뉴에서 호버를 레코드할 수 있습니다. 이러한 드롭 다운 메뉴는 DIV 태그로 구현됩니다. 드롭 다운 메뉴에서 호버를 레코드하고 서브메뉴 드롭 다운을 작성하려면 메뉴 항목 텍스트 위로 마우스를 올려 놓은 다음 Shift를 클릭하십시오. 마우스가 메뉴 항목의 텍스트 위에 있는지, 메뉴 항목 텍스트의 오른쪽에 있는 공간에 있지 않은지를 확인하십시오.
두 가지 버전의 deleteCookies 메소드를 사용할 수 있습니다. 한 가지 메소드는 현재 프로파일이나 사용자의 모든 쿠키를 삭제하고, 다른 메소드는 현재 프로파일 또는 사용자의 특정 경로 또는 도메인에 있는 쿠키를 삭제합니다. 자세한 정보는 com.rational.test.ft.object.interfaces 패키지의 IBrowserObject에서 Functional Tester API 참조서를 참조하십시오.
브라우저 메뉴에서의 선택은 화면 좌표를 기본으로 레코드되므로, 스크립트는 브라우저나 위치를 변경하면 신뢰성있게 재생할 수 없습니다. 또한 메뉴는 브라우저에 따라 다르며, 이로 인해 스크립트가 잘못 재생될 수 있습니다.
브라우저의 크기를 작은 크기로 조정할 경우 보기에 없으면, Functional Tester는 재생하는 동안 보기로 애플릿 오브젝트를 화면 이동하지 않습니다.
브라우저에서 주소 필드의 위치는 화면 좌표를 기초로 하므로, 브라우저의 크기와 위치가 변경되면 함께 변경할 수 있습니다. 스크립트는 주소 필드를 클릭하고 새 URL을 입력하면 보통 실패합니다. 레코딩 시, 스크립트에 브라우저 클릭하기(Browser_htmlBrowser)를 삽입하여 URL을 변경하십시오.
INPUT 요소에 .size 특성을 사용하고 INPUT 요소의 HTML에서는 .size 특성을 지정하지 않으면, Internet Explorer에서는 기본 값으로 20을 리턴하고, Netscape에서는 0을 리턴합니다.
크로스 플랫폼(Cross-Platform) 스크립트를 작성할 경우, 한 브라우저에만 표시되는 도구 모음 단추는 피하십시오. 다음 도구 모음 단추는 브라우저 모두에 공통입니다.
닫기 단추는 Internet Explorer와 Netscape 모두에서 사용할 수 있습니다. 크로스 플랫폼(Cross-Platform) 스크립트를 레코드할 때, 브라우저를 종료하는 대체 메소드의 사용은 피하십시오. 예를 들어, Alt+F+C는 Internet Explorer에서만 작동하고 Alt+F+X는 Netscape에서만 작동합니다. 이러한 키 조합은 다른 브라우저에서 실행할 때 스크립트가 실패하도록 하는 원인이 됩니다.
브라우저 오브젝트의 준비 상태가 4가 아닌 경우 HTML 애플리케이션 테스트를 위한 스크립트 재생이 실패하기도 합니다. 예제에 표시된 스크립트를 수동으로 수정하여 확인할 수도 있습니다.
Java: logInfo("Ready State #: "+browser_htmlBrowser().getProperty(".readyState").toString());에서 브라우저 상태를 확인하는 스크립트
.Net에서 브라우저 상태를 확인하는 스크립트: LogInfo("Ready State #: " & Browser_HtmlBrowser().GetProperty(".readyState").ToString)
Netscape는 Internet Explorer보다 시작하는 데 더 오랜 시간이 소요되므로, 크로스 브라우저(Cross-Browser) 스크립트를 레코딩하여 브라우저를 대기할 때 waitForExistence 메소드를 사용하십시오. 예를 들어, 다음과 같습니다.
팝업 메뉴를 핸들하기 위해 Netscape는 링크 클릭하기 바로 다음의 마우스 오른쪽 클릭하기를 무시합니다. 이 클릭하기 조합이 필요하면, 링크를 마우스 오른쪽 단추로 클릭하고, 문서의 빈 공간을 누른 다음 링크를 클릭하십시오. 이것은 Netscape에서만 필요하지만 Internet Explorer에서도 좋은 습관입니다.
Netscape에서 Ctrl을 클릭하고 링크를 클릭하면 Netscape의 다른 인스턴스에서 페이지가 열립니다. Internet Explorer에서 이와 동일한 키 시퀀스는 정상적인 링크 클릭하기로 작동합니다. 이 조치 조합이 포함되는 스크립트는 다르게 재생되므로 크로스 브라우저(Cross-Browser) 테스팅에서는 자제해야 합니다.
Netscape에서 목록 상자에 있는 항목을 마우스 오른쪽 단추로 클릭하고 항목을 클릭하면, Netscape는 클릭하기를 무시합니다. 이 클릭하기 조합이 필요한 경우, 항목을 마우스 오른쪽 단추로 클릭하고 문서의 빈 공간을 클릭한 다음 목록 상자에 있는 부속항목을 클릭하십시오.
때때로 HTML에 있는 오류로 인해 다른 브라우저가 HTML DOM 계층 구조를 다르게 해석할 수 있습니다. 한 브라우저에서 올바르게 실행되는 스크립트는 다른 브라우저에서 실패할 수 있습니다. 각 브라우저에서 한 스크립트를 레코드하고, 그 결과 테스트 오브젝트 맵을 비교하십시오. 맵에서 다른 계층 구조를 표시하면, HTML Tidy 같은 유틸리티를 실행하십시오. 유틸리티에서 오류를 보고하면, 오류로 인해 오브젝트 모델을 다르게 해석하고, 그 결과 다른 계층 구조가 발생했을 가능성이 있습니다. HTML Tidy는 WWW(World Wide Web) 컨소시엄, www.w3.org에서 사용할 수 있습니다.
Netscape에서 스크립트를 레코딩할 때, 암호화 공지사항 등의 팝업 메시지 상자(브라우저 사용자 인터페이스 대화 상자)가 표시됩니다. 크로스 브라우저(Cross-Browser) 스크립트를 레코딩할 때, 이러한 메시지 상자가 주로 Internet Explorer에는 표시되지 않으므로 포함시키지 않으려 할 수 있습니다. 이 문제점을 예방하려면 다음을 수행하십시오.
이러한 종류의 메시지 상자를 핸들하도록 스크립트를 수정할 수 있지만, 코드는 복잡해질 수 있습니다. 자세한 정보는 Rational Functional Tester 기능 확장 주제를 참조하십시오.
크로스 브라우저(Cross-Browser) 호한 가능성(Functional Tester가 지원하는 모든 브라우저에서 호환될 수 있는 스크립트)을 레코드할 경우, 팝업 메시지 상자의 레코딩은 피하십시오. 크로스 브라우저(Cross-Browser) 호환 가능 스크립트를 레코드하지 않는 경우, 스크립트에서 팝업 메시지 상자를 레코드할 수 있습니다.
Functional Tester는 Windows® 플랫폼의 로그인, 파일 다운로드, 인증/보안 경고, 파일 피커(파일 열기/파일 저장) 및 인쇄 대화 상자를 지원합니다. 이러한 사용자 인터페이스 대화 상자는 특정 브라우저를 위한 것으로 크로스 브라우저(Cross-Browser) 호환 가능성이 없습니다. 대부분의 경우, 로그인 대화 상자는 브라우저 사이에서 호환 가능합니다.
애플리케이션을 구성할 때, Functional Test는 애플리케이션의 이름을 애플리케이션 구성 도구에 추가합니다. 서로 다른 많은 URL을 테스트하는 경우, 애플리케이션 목록은 길어질 수 있습니다. URL을 목록에 추가하지 않으려는 경우, 빈 스크립트에서 startBrowser 명령을 사용하여 이를 테스트할 수 있습니다.
startBrowser ("url");
Functional Tester는 Microsoft® HTML 애플리케이션(MSHTA) 테스트를 지원합니다. MSHTA를 테스트하기 전에 mshta.exe를 실행하여 이를 구성해야 합니다. 테스트하려는 각 HTA를 구성하려면 다음을 수행하십시오.
자세한 정보는 테스트를 위한 애플리케이션 구성을 참조하십시오.
TestManager가 설치된 경우, 이를 사용하여 Linux® 컴퓨터에서 원격으로 HTML 애플리케이션을 테스트합니다. 자세한 정보는 로컬 및 에이전트 컴퓨터 주제를 참조하십시오.
Java 플러그인에 관한 오류가 리턴되면, HTML 애플리케이션을 테스트하거나 HTML 로그에 있는 결과 보기 링크에서 비교기를 시작할 때 브라우저의 Java 플러그인이 올바로 구성되었는지 확인해야 합니다. 지시사항은 브라우저의 Java 플러그인 사용에 관한 관련 항목을 참조하십시오.
TestManager 통합에 대한 주의사항: Functional Tester는 Rational TestManager 버전 7.0.2와 통합됩니다. TestManager 버전이 7.0.2인 경우, Functional Tester 및 TestManager의 통합 기능을 사용할 수 있습니다. 제품을 함께 사용하는 것에 대한 중요한 정보는 IBM Rational Functional Tester 통합 이해를 참조하십시오.