HTML 응용프로그램 Functional Test에 대한 팁 및 요령

이 주제에서는 HTML 응용프로그램을 테스트하는 스크립트를 레코딩 및 재생하기 위한 팁 및 요령에 대해 설명합니다.

먼저 레코딩 시작 후 응용프로그램 시작

HTML 응용프로그램에서 스크립트를 레코딩할 경우 레코딩 중에 응용프로그램을 시작하려면 Functional Tester를 사용하십시오. Functional Tester는 기본 브라우저에서 또는 특정 브라우저에서 지정한 HTML 페이지를 엽니다.

HTML 메뉴에서 호버(Hover) 레코딩

HTML 응용프로그램에서 스크립트를 레코딩할 경우, 마우스를 드롭 다운 메뉴로 이동시킬 때 활성화된 드롭 다운 메뉴에서 호버를 레코드할 수 있습니다. 이러한 드롭 다운 메뉴는 DIV 태그로 구현됩니다. 드롭 다운 메뉴에서 호버를 레코드하고 서브메뉴 드롭 다운을 작성하려면 메뉴 항목 텍스트 위로 마우스를 올려 놓은 다음 Shift를 클릭하십시오. 마우스가 메뉴 항목의 텍스트 위에 있는지, 메뉴 항목 텍스트의 오른쪽에 있는 공간에 있지 않은지를 확인하십시오.

스크립트에서 deleteCookies 메소드 사용

두 가지 버전의 deleteCookies 메소드를 사용할 수 있습니다. 한 가지 메소드는 현재 프로파일이나 사용자의 모든 쿠키를 삭제하고, 다른 메소드는 현재 프로파일 또는 사용자의 특정 경로 또는 도메인에 있는 쿠키를 삭제합니다. 자세한 정보는 com.rational.test.ft.object.interfaces 패키지의 IBrowserObject에서 Functional Tester API 참조서를 참조하십시오.

스크립트에 메뉴 항목 포함 예방

브라우저 메뉴에서의 선택은 화면 좌표를 기본으로 레코드되므로, 스크립트는 브라우저나 위치를 변경하면 신뢰성있게 재생할 수 없습니다. 또한 메뉴는 브라우저에 따라 다르며, 이로 인해 스크립트가 잘못 재생될 수 있습니다.

Java 애플릿이 재생하는 동안 전체 보기로 되어 있는지 확인하십시오.

브라우저의 크기를 작은 크기로 조정할 경우 보기에 없으면, Functional Tester는 재생하는 동안 보기로 애플릿 오브젝트를 화면 이동하지 않습니다.

loadURL( ) 메소드를 사용한 URL 변경

브라우저에서 주소 필드의 위치는 화면 좌표를 기초로 하므로, 브라우저의 크기와 위치가 변경되면 함께 변경할 수 있습니다. 스크립트는 주소 필드를 클릭하고 새 URL을 입력하면 보통 실패합니다. 레코딩 시, 스크립트에 브라우저 클릭하기(Browser_htmlBrowser)를 삽입하여 URL을 변경하십시오.

  1. 레코딩 시, 브라우저 헤더의 빈 공간을 클릭하여 테스트 오브젝트 맵에 브라우저 클릭하기를 포함시킵니다.
  2. 레코딩 후, 스크립트를 보고 커서를 스크립트의 빈 행에 두십시오.
  3. 스크립트 탐색기에서 테스트 오브젝트를 펼치고 Browser_htmlBrowser 아이콘Browser_htmlBrowser를 마우스 오른쪽 단추로 클릭한 다음 커서 위치에 자산 삽입을 선택하십시오.
  4. loadURL(String) 메소드를 선택하십시오.
  5. loadURL 명령문의 괄호 사이에 새 URL의 이름을 입력하십시오.
  6. Java™의 경우에만 행 끝에 세미콜론(;)을 삽입하고 VB.NET에서는 삽입하지 마십시오.

INPUT 요소에 .size 특성 사용

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에서만 작동합니다. 이러한 키 조합은 다른 브라우저에서 실행할 때 스크립트가 실패하도록 하는 원인이 됩니다.

브라우저 오브젝트 .readystate 확인

브라우저 오브젝트의 준비 상태가 4가 아닌 경우 HTML 응용프로그램 테스트를 위한 스크립트 재생이 실패하기도 합니다. 예제에 표시된 스크립트를 수동으로 수정하여 확인할 수도 있습니다.

Java: logInfo("Ready State #: "+browser_htmlBrowser().getProperty(".readyState").toString());에서 브라우저 상태를 확인하는 스크립트

.Net에서 브라우저 상태를 확인하는 스크립트: LogInfo("Ready State #: " & Browser_HtmlBrowser().GetProperty(".readyState").ToString)

waitForExistence 메소드를 사용하여 브라우저 시작 속도 보완

Netscape는 Internet Explorer보다 시작하는 데 더 오랜 시간이 소요되므로, 크로스 브라우저(Cross-Browser) 스크립트를 레코딩하여 브라우저를 대기할 때 waitForExistence 메소드를 사용하십시오. 예를 들어, 다음과 같습니다.

  1. 레코딩할 경우 응용프로그램을 시작하십시오.
  2. 레코딩 도구 모음에 있는 검증 포인트 또는 조치 명령 삽입 단추(검증 포인트 또는 조치 명령 삽입 단추)를 클릭하십시오.
  3. 검증 포인트 및 조치 마법사의 오브젝트 선택 페이지에서 오브젝트 파인더 아이콘(오브젝트 파인더 아이콘)을 클릭한 다음 HTML 페이지 위로 끌어다 놓으십시오(브라우저 위가 아님).
  4. 다음을 클릭하십시오.
  5. 검증 포인트 및 조치 마법사의 조치 선택 페이지에서, 선택한 TestObject 대기 옵션을 클릭하십시오.
  6. 필요하면 기본값 사용을 지워 최대 대기 시간확인 간격 설정을 변경하십시오. 이들은 각각 2분과 2초입니다.
  7. 완료를 클릭하십시오.

크로스 플랫폼(Cross-Platform) 스크립트에서 클릭하기와 키 조합 사용 자제

팝업 메뉴를 핸들하기 위해 Netscape는 링크 클릭하기 바로 다음의 마우스 오른쪽 클릭하기를 무시합니다. 이 클릭하기 조합이 필요하면, 링크를 마우스 오른쪽 단추로 클릭하고, 문서의 빈 공간을 누른 다음 링크를 클릭하십시오. 이것은 Netscape에서만 필요하지만 Internet Explorer에서도 좋은 습관입니다.

Netscape에서 Ctrl을 클릭하고 링크를 클릭하면 Netscape의 다른 인스턴스에서 페이지가 열립니다. Internet Explorer에서 이와 동일한 키 시퀀스는 정상적인 링크 클릭하기로 작동합니다. 이 조치 조합이 포함되는 스크립트는 다르게 재생되므로 크로스 브라우저(Cross-Browser) 테스팅에서는 자제해야 합니다.

Netscape에서 목록 상자에 있는 항목을 마우스 오른쪽 단추로 클릭하고 항목을 클릭하면, Netscape는 클릭하기를 무시합니다. 이 클릭하기 조합이 필요한 경우, 항목을 마우스 오른쪽 단추로 클릭하고 문서의 빈 공간을 클릭한 다음 목록 상자에 있는 부속항목을 클릭하십시오.

잘못 구성된 HTML을 수정하는 유틸리티 실행

때때로 HTML에 있는 오류로 인해 다른 브라우저가 HTML DOM 계층 구조를 다르게 해석할 수 있습니다. 한 브라우저에서 올바르게 실행되는 스크립트는 다른 브라우저에서 실패할 수 있습니다. 각 브라우저에서 한 스크립트를 레코드하고, 그 결과 테스트 오브젝트 맵을 비교하십시오. 맵에서 다른 계층 구조를 표시하면, HTML Tidy 같은 유틸리티를 실행하십시오. 유틸리티에서 오류를 보고하면, 오류로 인해 오브젝트 모델을 다르게 해석하고, 그 결과 다른 계층 구조가 발생했을 가능성이 있습니다. HTML Tidy는 WWW(World Wide Web) 컨소시엄, www.w3.org에서 사용할 수 있습니다.

팝업 메시지 상자 핸들

Netscape에서 스크립트를 레코딩할 때, 암호화 공지사항 등의 팝업 메시지 상자(브라우저 사용자 인터페이스 대화 상자)가 표시됩니다. 크로스 브라우저(Cross-Browser) 스크립트를 레코딩할 때, 이러한 메시지 상자가 주로 Internet Explorer에는 표시되지 않으므로 포함시키지 않으려 할 수 있습니다. 이 문제점을 예방하려면 다음을 수행하십시오.

  1. 팝업 메시지가 표시되면, 레코딩을 일시정지하십시오.
  2. 메시지가 다시 표시되지 않도록 하는 메시지의 선택란을 선택하십시오.
  3. 취소를 클릭하여 메시지 상자를 닫으십시오.
  4. 레코딩을 재개하십시오.

이러한 종류의 메시지 상자를 핸들하도록 스크립트를 수정할 수 있지만, 코드는 복잡해질 수 있습니다. 자세한 정보는 Rational Functional Tester 기능 확장 주제를 참조하십시오.

크로스 브라우저(Cross-Browser) 호한 가능성(Functional Tester가 지원하는 모든 브라우저에서 호환될 수 있는 스크립트)을 레코드할 경우, 팝업 메시지 상자의 레코딩은 피하십시오. 크로스 브라우저(Cross-Browser) 호환 가능 스크립트를 레코드하지 않는 경우, 스크립트에서 팝업 메시지 상자를 레코드할 수 있습니다.

Functional Tester는 Windows® 플랫폼의 로그인, 파일 다운로드, 인증/보안 경고, 파일 피커(파일 열기/파일 저장) 및 인쇄 대화 상자를 지원합니다. 이러한 사용자 인터페이스 대화 상자는 특정 브라우저를 위한 것으로 크로스 브라우저(Cross-Browser) 호환 가능성이 없습니다. 대부분의 경우, 로그인 대화 상자는 브라우저 사이에서 호환 가능합니다.

응용프로그램을 구성하지 않고 수행되는 URL 테스팅

응용프로그램을 구성할 때, Functional Test는 응용프로그램의 이름을 응용프로그램 구성 도구에 추가합니다. 서로 다른 많은 URL을 테스트하는 경우, 응용프로그램 목록은 길어질 수 있습니다. URL을 목록에 추가하지 않으려는 경우, 빈 스크립트에서 startBrowser 명령을 사용하여 이를 테스트할 수 있습니다.

  1. 레코딩없이 새 Functional Test 스크립트 작성
  2. 빈 줄에서 다음 명령을 입력하십시오.

    startBrowser ("url");

  3. 스크립트를 저장하고 실행하십시오.
  4. 페이지가 표시되면, Functional Test 도구 모음에서 활성 Functional Tester 스크립트에 레코딩 삽입(활성 Functional Tester 스크립트에 레코딩 삽입 단추)을 클릭하고 페이지에서 레코딩을 시작하십시오.

HTA 테스트

Functional Tester는 Microsoft® HTML 응용프로그램(MSHTA) 테스트를 지원합니다. MSHTA를 테스트하기 전에 mshta.exe를 실행하여 이를 구성해야 합니다. 테스트하려는 각 HTA를 구성하려면 다음을 수행하십시오.

  1. 응용프로그램 구성 도구의 유형 필드에서 실행 파일 또는 일괄처리를 선택하십시오.
  2. 실행 파일 필드에서 mshta.exe를 선택하십시오.
  3. 인수 필드에서 x.hta 매개변수를 실행 파일로 전달하십시오. 여기서 x는 HTA 파일의 이름입니다.

자세한 정보는 테스트를 위한 응용프로그램 구성을 참조하십시오.

TestManager를 통한 원격 테스트 수행

TestManager가 설치된 경우, 이를 사용하여 Linux® 컴퓨터에서 원격으로 HTML 응용프로그램을 테스트합니다. 자세한 정보는 로컬 및 에이전트 컴퓨터 주제를 참조하십시오.

Java 플러그인 오류 핸들

Java 플러그인에 관한 오류가 리턴되면, HTML 응용프로그램을 테스트하거나 HTML 로그에 있는 결과 보기 링크에서 비교기를 시작할 때 브라우저의 Java 플러그인이 올바로 구성되었는지 확인해야 합니다. 지시사항은 브라우저의 Java 플러그인 사용에 관한 관련 항목을 참조하십시오.

TestManager 통합에 대한 주의사항: Functional Tester는 Rational TestManager 버전 7.0.1.2와 통합됩니다. TestManager의 7.0.1.2 버전이 설치된 경우 Functional Tester 및 TestManager의 통합 기능을 사용할 수 있습니다. 제품을 함께 사용하는 것에 대한 중요한 정보는 Functional Tester 통합 이해를 참조하십시오.

관련 태스크
테스트를 위한 응용프로그램 구성
브라우저의 Java 플러그인 사용
Rational Functional Tester 기능 확장
관련 참조
HTML 지원

피드백