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을 변경하십시오.
Browser_htmlBrowser를
마우스 오른쪽 단추로 클릭한 다음 커서 위치에 자산 삽입을 선택하십시오. INPUT 요소에 .size 특성을 사용하고 INPUT 요소의 HTML에서는 .size 특성을 지정하지 않을 경우 Internet Explorer에서 기본 값으로 20을 리턴합니다.
크로스 플랫폼(Cross-Platform) 스크립트를 작성할 경우, 한 브라우저에만 표시되는 도구 모음 단추는 피하십시오. 다음 도구 모음 단추는 브라우저 모두에 공통입니다.
Internet Explorer에서 닫기 단추를 사용할 수 있습니다. 크로스 플랫폼(Cross-Platform) 스크립트를 레코드할 때, 브라우저를 종료하는 대체 메소드의 사용은 피하십시오. 예를 들어, Alt+F+C는 Internet Explorer에서만 작동합니다. 이러한 키 조합은 다른 브라우저에서 실행할 때 스크립트가 실패하도록 하는 원인이 됩니다.
브라우저 오브젝트의 준비 상태가 4가 아닌 경우 HTML 애플리케이션 테스트를 위한 스크립트 재생이 실패하기도 합니다. 예제에 표시된 스크립트를 수동으로 수정하여 확인할 수도 있습니다.
Java: logInfo("Ready State #: "+browser_htmlBrowser().getProperty(".readyState").toString());에서 브라우저 상태를 확인하는 스크립트
.Net에서 브라우저 상태를 확인하는 스크립트: LogInfo("Ready State #: " & Browser_HtmlBrowser().GetProperty(".readyState").ToString)
크로스 브라우저(Cross-Browser) 스크립트를 레코딩할 때 브라우저를 대기하는 waitForExistence 메소드를 사용하십시오. 예를 들어, 다음과 같습니다.
)를 클릭하십시오.
)을 클릭한 다음 HTML 페이지 위로 끌어다 놓으십시오(브라우저 위가 아님). 팝업 메뉴를 핸들하기 위해 일부 브라우저는 마우스 오른쪽 클릭 바로 다음의 링크 클릭을 무시합니다. 이 클릭하기 조합이 필요하면, 링크를 마우스 오른쪽 단추로 클릭하고, 문서의 빈 공간을 누른 다음 링크를 클릭하십시오.
일부 브라우저에서는 Ctrl을 누르고 링크를 클릭하면 브라우저의 다른 인스턴스에서 페이지가 열립니다. 다른 브라우저에서는 이러한 키 시퀀스가 일반적 링크 클릭과 동일합니다. 이 조치 조합이 포함되는 스크립트는 다르게 재생되므로 크로스 브라우저(Cross-Browser) 테스팅에서는 자제해야 합니다.
때때로 HTML에 있는 오류로 인해 다른 브라우저가 HTML DOM 계층 구조를 다르게 해석할 수 있습니다. 한 브라우저에서 올바르게 실행되는 스크립트는 다른 브라우저에서 실패할 수 있습니다. 각 브라우저에서 한 스크립트를 레코드하고, 그 결과 테스트 오브젝트 맵을 비교하십시오. 맵에서 다른 계층 구조를 표시하면, HTML Tidy 같은 유틸리티를 실행하십시오. 유틸리티에서 오류를 보고하면, 오류로 인해 오브젝트 모델을 다르게 해석하고, 그 결과 다른 계층 구조가 발생했을 가능성이 있습니다. HTML Tidy는 WWW(World Wide Web) 컨소시엄, www.w3.org에서 사용할 수 있습니다.
일부 브라우저에서 스크립트를 레코딩할 때, 암호화 공지사항 등의 팝업 메시지(브라우저 사용자 인터페이스 대화 상자)가 종종 표시됩니다. 다른 브라우저에서는 이러한 메시지 상자가 표시되지 않으므로 크로스 브라우저(Cross-Browser) 스크립트를 레코딩할 때, 이 메시지 상자를 포함시키지 않게 됩니다. 이 문제점을 예방하려면 다음을 수행하십시오.
이러한 종류의 메시지 상자를 핸들하도록 스크립트를 수정할 수 있지만, 코드는 복잡해질 수 있습니다. 자세한 정보는 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 플러그인 사용에 관한 관련 항목을 참조하십시오.
참고: Rational Functional Tester와 통합할 수 있는 Rational TestManager 버전을 보려면 Rational Functional Tester 버전 8.2 기술 노트의 릴리스별 Functional Test에 대한 지원되는 도메인 목록을 참조하십시오.