Functional Test 문제점 해결

이 주제는 Functional Test 중에 발생할 수 있는 일부 문제점을 해결하는 데 유용합니다.
표 1.
문제점 설명 솔루션

.Net에서 ErrorProvider, HelpProvider 및 ToolTipText 제어에 검증 포인트를 삽입하는 동안 ObjectNotFoundException 예외가 발생합니다.

이 문제는 .Net에서 레코딩 중에 ErrorProvider, HelpProvider 및 ToolTipText 제어에서 데이터 검증 포인트를 작성한 경우에 발생합니다.

.NET에서 해당 제어의 특성 검증 포인트를 작성하십시오.

SAP 애플리케이션에서 달력 제어를 포함하는 데이터 처리 스크립트를 재생하는 동안 System.NullReferenceException이 발생합니다.

데이터 처리 스크립트를 레코딩한 후 달력 제어를 종료해 close() 이벤트가 스크립트에 생성되었습니다. 스크립트는 다음 예제와 비슷하게 표시됩니다.

calendar_sapCalendarControl1().setDate(dpString("SAPCalendarControl1")); dialog_calendar().close();

setDate() 메소드는 특정 날짜를 설정하고 달력 제어를 종료하기 때문에 재생 도중 달력 제어를 종료하려고 하면 스크립트가 실패하게 됩니다.

다음 태스크 중 하나를 수행하십시오.
  • 스크립트에 생성된 달력 닫기 메소드를 삭제하십시오.
  • "데이터 기반 조치 삽입" 마법사를 종료하기 전에 달력 제어를 닫으십시오.

SAP 애플리케이션에서 텍스트, 콤보 상자 또는 트리와 같은 제어의 데이터 검증을 수행하는 동안 재생에 실패합니다.

이 문제는 텍스트/콤보 상자의 set 또는 트리 제어의 ExpandNode/doubleClickNode와 같은 메소드 이전에 검증 포인트 메소드가 레코드된 경우 발생합니다.

다음 태스크 중 하나를 수행하십시오.
  • 텍스트/콤보 상자에서 값을 입력/선택한 후 Enter 또는 F2 키를 누르거나 트리 제어의 노드를 펼친 후 데이터 검증 포인트 마법사를 호출하십시오.
  • 스크립트의 텍스트/콤보 상자/트리 제어에서 데이터 검증을 수행하기 전에 해당 메소드를 잘라내어 붙여넣으십시오.

Functional Test 프로젝트를 .Net에 작성 중에 다음 오류 메시지가 표시됩니다.

"ClearCase® 통합 사용이 실패했습니다. 설치된 소스 코드 제어 제공자의 레지스트리 항목이 누락되었습니다. 소스 제어 제공자를 적절하게 구성하십시오.

ClearCase의 레지스트리 설정이 손상된 경우 이 메시지가 표시됩니다.

레지스트리 설정을 수동으로 수정해야 합니다. 소스 제어 제공자 변경이나 레지스트리 설정 편집에 대한 자세한 정보는 MSDN 도움말을 참조하십시오.

Siebel 7.8에서 Siebel 7.7로 다운그레이드한 다음에는 IBM® Rational® Functional Tester에서 Siebel 7.7을 인식하지 못합니다.

Siebel 7.8을 시작할 때 Internet Explorer는 최신 Siebel ActiveX 오브젝트를 설치합니다. 그렇기 때문에 이동한 후에 Siebel 7.7에서 Functional Tester를 사용하여 레코드하려는 경우 Functional Tester는 Siebel 7.7 제어를 인식하지 못하게 됩니다.

C:\WINDOWS\Downloaded Program Files 폴더에서 Siebel ActiveX 오브젝트를 제거하고 Siebel 7.7 애플리케이션에서 작업을 다시 시도해 보십시오.

Rational Functional Tester에서 테스트용으로 애플리케이션을 구성하는 동안 테스트할 Java™ 애플리케이션(AUT)이 열리지 않습니다.

테스트 애플리케이션 컴파일에 사용한 JRE 버전보다 낮은 버전의 JRE를 지정한 경우 테스트용으로 애플리케이션 구성 중에 AUT가 열리지 않습니다.

  • Functional Tester에서 지원되는 JRE와 동일하거나 이상의 버전을 사용하여 애플리케이션을 테스트하십시오.
  • Java IDE에서 JRE 소스 및 대상 레벨을 설정하여 테스트 애플리케이션을 다시 컴파일하십시오.

    명령 인터페이스에서 소스 및 대상 플래그를 설정하여 테스트 애플리케이션을 컴파일하는 예제:

    C:\AUT\Test>"C:\Program Files\Java\jdk1.5.0_06\bin\javac.exe" -source 1.4 -target 1.4 *.java

비밀번호 필드가 포함된 SAP 애플리케이션을 테스트하는 동안 재생이 실패했습니다.

Rational Functional Tester는 입력된 암호를 암호 필드에 표시된 대로 레코드하며 암호화된 값을 읽지 못합니다.

스크립트를 재생하기 전에 스크립트에서 레코드된 비밀번호를 실제 비밀번호로 바꾸십시오.

IBM Rational Functional Tester 컨텍스트 도움말이 VS .Net IDE에서 지원되지 않습니다.

 

MSDN 라이브러리를 설치하십시오. Functional Tester 도움말을 사용할 수 있도록 설치 중에 MSDN 라이브러리를 VS .Net IDE와 통합하는 옵션을 선택하십시오.

학습서 갤러리에서 PDF 파일을 열려고 하면 컴퓨터가 정지합니다.

Adobe® Reader 6.0.0을 사용하는 경우 학습서 갤러리에서 PDF 파일을 열면 컴퓨터가 정지할 수 있습니다.

Adobe Reader의 다른 버전을 사용하는 경우에는 이 문제가 발생하지 않습니다. Adobe 웹 사이트에서 최신 버전의 Adobe Reader로 무료 업그레이드 받으실 수 있습니다.

멀티미디어 사용자 지원이 표시되지 않습니다.

둘러보기, 학습서 및 viewlet 데모 보기와 같은 멀티미디어 사용자 지원을 사용하려면 컴퓨터에 Flash Player가 설치되어 있어야 합니다.

Adobe 웹 사이트에서 Flash Player 버전 6.0 이상을 설치하십시오.

레코드를 수행한 후에 보기 및 편집기가 정지되는 경우 Eclipse에서 재생이 지원되지 않습니다.

 

ivory.properties 파일에 rational.test.ft.enable_eclipse_support=false 명령문을 추가하십시오.

하나의 브라우저에 레코드된 스크립트는 다른 브라우저에서 재생되지 않습니다.

예를 들어, Internet Explorer에서 레코드된 스크립트는 때때로 Mozilla Firefox에서 재생되지 않습니다.

브라우저에서 오브젝트의 DOM 구조를 확인하십시오. 예를 들어, Mozilla Firefox용 DomInspector를 사용할 수 있습니다. 또한, 다른 브라우저에 대해서도 DOM 구조를 확인할 수 있습니다. 그런 다음, 오브젝트 계층 구조가 동일한지 여부를 비교하고 확인할 수 있습니다.

  • 브라우저의 DOM 계층 구조가 동일하지 않으면 Functional Tester 문제로 인한 장애가 발생하지 않습니다. 브라우저에서 재생에 실패할 수 있으므로 다른 DOM 계층 구조를 작성합니다.

    해결 방법: 이 문제는 스크립트를 재생하는 동안 Functional Tester에서 누락될 것으로 예상하는 계층 구조를 도입하여 해결할 수 있습니다.

  • 브라우저의 DOM 계층 구조가 동일하면 Functional Tester에 문제가 발생할 수 있습니다. 자세한 사항은 Rational 소프트웨어 제품에 대한 IBM 소프트웨어 지원에 문의하십시오.

브라우저 메뉴 옵션에서 레코드 및 재생이 지원되지 않습니다.

Rational Functional Tester는 브라우저 컨텐츠를 테스트하는 것은 지원하지만 브라우저 메뉴 옵션 또는 브라우저 자체와 상호작용하지 않습니다. 이는 기본적으로 여러 브라우저에서 HTML 애플리케이션을 테스트할 수 있는 레코드 및 재생 기능을 제공하기 위해 수행됩니다.

특정 메뉴 옵션의 키보드 단축키를 사용하여 메뉴 옵션과 상호작용하려면 브라우저 오브젝트를 캡처하고 inputKeys 메소드를 사용하십시오.

예를 들면, 단축키 Alt+F+C를 사용하여 파일 메뉴의 닫기 옵션에 액세스할 수 있습니다. 이 옵션에 액세스해야 하는 경우 아래 표시된 것과 같이 단축키("%fc")를 입력 매개변수로 제공하여 브라우저 오브젝트에서 inputKeys 메소드를 사용할 수 있습니다.

Browser_HtmlBrowser(Document_HtmlDocument(),DEFAULT_FLAGS).InputKeys("%fc")

레코딩 중에 내부 SAP 오류(ABAP)가 발생합니다.

SAP 애플리케이션에 대해 레코딩하는 중에 SAP 스크립팅 프레임워크에서 내부적으로 일부 ABAP 오류를 처리하고 레코딩이 중지되는 때가 있습니다. 이 문제점을 수정하려면 SAP가 스크립팅 프레임워크에서 문제점을 수정해야 합니다.

스크립트를 실행하는 사용자의 시스템에서 모달 검색 도움말을 사용 불가능하게 하십시오. 도움말 메뉴의 SAP GUI에 있는 환경 설정 대화 상자에서 이 작업을 수행할 수 있습니다. 이 솔루션이 효과가 없는 경우에는 SAP 애플리케이션을 다시 시작해야 합니다.

SAP 애플리케이션에서 달력 제어를 포함하는 데이터 처리 스크립트를 재생하는 동안 System.NullReferenceException이 발생합니다.

데이터 기반 스크립트를 레코딩한 후 달력 제어를 종료해 close() 이벤트가 스크립트에 생성되었습니다.

스크립트는 다음과 같이 표시됩니다. dialog_calendar().close();

setDate() 메소드는 특정 날짜를 설정하고 달력 제어를 종료하기 때문에 재생 도중 달력 제어를 종료하려고 하면 스크립트가 실패하게 됩니다.

스크립트에 생성된 달력 닫기 메소드를 삭제하십시오.

Linux®의 경우 복수 스레드에서 RationalTestScript API 명령을 호출하면 비동기 오류가 발생합니다.

프로세스에서 두 개의 스레드가 X개의 요청을 동시에 제출하는 경우 X개의 라이브러리는 스레드에 안전하지 않기 때문에 요청을 처리할 수 없습니다. 이로 인해 비동기 오류가 발생하며 예기치 않은 비동기 응답 또는 이벤트 손실과 같은 메시지가 표시됩니다. 이 문제점은 RFT 스크립트에서 복수 스레드를 사용하는 경우에도 발생할 수 있습니다. .

ivory.properties 파일에서 rational.test.ft.script.playback.mouse.allow_multiple_threads 옵션을 "참"으로 설정하십시오.

Linux에서 파일을 가져오는 중에 인코딩 문제점이 발생합니다.

Linux의 경우, 호환 불가능한 인코딩 형식으로 인해 가져오는 중인 파일을 Functional Tester에서 인식하지 못하거나 읽지 못할 수도 있습니다. Functional Tester에서 기본 인코딩 형식은 UTF-8로 설정되어 있습니다. 그러나 UTF-8은 Cp1252와 같은 몇몇 인코딩 형식을 처리할 수 없습니다.

Linux의 경우 파일의 인코딩 형식을 ISO-8859-1로 설정하십시오.
  1. Functional Test 프로젝트 분할창에서 가져온 프로젝트 또는 파일을 가져오고 있는 대상 프로젝트를 선택하십시오.
  2. 프로젝트 > 특성을 클릭하십시오.
  3. 특성 창에서, 목록에서 정보를 선택하십시오.
  4. 텍스트 파일 인코딩 필드에서 기타를 클릭하십시오.
  5. 드롭 다운 목록에서 ISO-8859-1을 선택하십시오.
  6. 확인을 클릭하십시오.

네트워크에 저장된 .Net 스크립트를 재생할 수 없습니다.

보안 정책때문에 네트워크의 프로젝트가 로컬 컴퓨터에서 완전 신뢰 권한을 갖고 있지 않을 수도 있습니다. RuntimeSecurityPolicyException 메시지가 재생 로그 또는 RFT 디버그 로그에 표시됩니다.

다음을 수행하십시오.
  • 로컬 인트라넷 영역의 보안 레벨을 완전 신뢰로 구성하십시오. 다음 단계를 수행하여 이를 완료할 수 있습니다.
    1. 제어판 > 관리 도구로 이동하여 Microsoft® .NET 프레임워크 구성을 여십시오.
    2. 코드 액세스 보안 정책 구성을 선택한 후 영역 보안 조정을 클릭하십시오.
    3. 보안 조정 마법사에서 로컬 인트라넷을 선택하고 신뢰 레벨을 완전 신뢰로 설정하십시오.
이 메시지가 계속 표시되면 다음 단계를 수행하십시오.
  • 프로젝트 경로로 IP 주소 대신 컴퓨터 이름을 지정하십시오.
  • Internet Explorer에서 다음을 구성하십시오.
    1. Internet Explorer 창에서 도구 > 인터넷 옵션을 클릭하십시오.
    2. 보안 탭에서 로컬 인트라넷 영역을 선택하십시오.
    3. 사이트를 클릭하십시오.
    4. 로컬 인트라넷 대화 상자에서 고급을 클릭하십시오.
    5. 이 영역의 모든 사이트에서 서버 검증 필요(https:)를 선택 취소하십시오.
    6. 프로젝트 경로를 지정하고 추가를 클릭하십시오.
    7. 확인을 클릭하십시오.

Linux에서 Test Manager 에이전트를 사용하여 스크립트를 실행하면 오류가 발생합니다.

Linux 시스템에서 Test Manager 에이전트 7.0 디먼을 시작하고 Windows® 시스템에서 Test Manager를 통해 스크립트를 실행하면 몇몇 오류가 발생할 수 있습니다.

Linux 시스템의 경우 다음을 수행하십시오.
  1. 환경 변수 LD_LIBRARY_PATH를 현재 사용되고 있는 JRE의 libjava.so로 설정하십시오.
  2. CLASSPATH를 /bin/rational_ft.jar로 설정하십시오.
  3. source rtsetup 명령을 실행하십시오.
  4. Test Manager 설치 디렉토리에서 RTsagt 스크립트를 실행하십시오.
주: SUSE Linux Enterprise Server 10.0 및 SUSE Linux Enterprise Desktop 10.0 플랫폼에서는 Test Manager 에이전트를 사용할 수 없습니다.

ClearCase를 사용하여 Functional Test 프로젝트를 공유하는 중에 컴파일 오류가 발생합니다.

기본적으로 ClearCase는 대소문자를 구분하지 않도록 구성됩니다. 파일 이름에 대문자가 포함된 경우 ClearCase에서는 이를 소문자로 변환합니다. ClearCase에 있는 기존 프로젝트 내부에 새 스크립트를 레코드하는 경우에도 비슷한 문제점이 발생합니다.

다음 단계를 수행하여 대소문자를 유지하도록 ClearCase 설정을 변경하십시오.
  1. 시작 > 제어판 > ClearCase를 클릭하여 ClearCase 특성 창을 여십시오.
  2. MVFS 탭 페이지에서 대소문자 유지 선택란을 선택하십시오.
  3. ClearCase를 중지한 후 다시 시작하십시오.
  4. Functional Test 프로젝트를 다시 공유하십시오.

Linux에서 ClearCase 통합이 /opt/rational 디렉토리에 설치되지 않은 경우에는 실행되지 않습니다.

 

Linux에서 ClearCase를 사용하려면 ClearCase를 /opt/rational 또는 /usr/atria 디렉토리에 설치하거나 CLEARCASEHOME 또는 ATRIAHOME을 ClearCase 설치 디렉토리로 설정해야 합니다.

자원 번들을 해석할 수 없습니다.

Rational Functional Tester 어댑터와 함께 Flex 애플리케이션을 빌드하는 데 Flex Builder 2를 사용하는 경우 자원 번들링 시 오류가 발생할 수 있습니다.

automation_agent_rb.swc../Flex automation/frameworks/locale/en_US에서 ../Flex SDK 2/frameworks/locale/en_US 디렉토리로 복사하십시오.
주: Flex Builder 3을 사용하는 경우에는 이 과정이 필요하지 않습니다.
Functional Test 프로젝트에 필요한 ClearCase 관련 조작을 수행할 수 없습니다. 이 문제점은 Functional Test 프로젝트 자산 계층 구조 또는 위치가 수정된 경우 발생할 수 있습니다. Functional Test 프로젝트를 작성하면 프로젝트 자산을 유지보수하도록 기본 계층 구조가 작성됩니다. 이 계층 구조 및 스토리지는 체크인하기 위해 Functional Test 자산을 찾는 데 사용됩니다.

Functional Test 프로젝트 자산 계층 구조를 수정하지 마십시오.

Java AUT가 다른 애플리케이션 창 뒤에 숨겨진 경우 스크립트를 재생하는 동안 ObjectNotFound 예외가 발생합니다.   다음을 수행하십시오.
  1. 구성 > 테스트용 환경 사용 > Java 환경 탭을 클릭하십시오.
  2. 실행 옵션 필드에 -Dawt.toolkit=sun.awt.motif.MToolkit을 입력한 후 완료를 클릭하십시오.
더블 바이트 문자 세트(DBCS)를 레코드할 수 없습니다. 더블 바이트 문자를 입력하는 경우 동일한 키 시퀀스에 복수 DBCS 문자가 있을 수 있습니다. 하나의 키 시퀀스 다음에 스페이스바를 누르면 사용자가 원하는 문자를 선택하도록 IME(Input Method Editor)에서 옵션을 표시합니다. 입력 문자열을 레코드하려면 Enter를 누르십시오.
Rational Functional Tester에서 Flex 애플리케이션을 사용하여 조치를 레코드하지 않습니다. 이 문제점은 Flex 환경 및 애플리케이션이 올바로 구성되어 있지 않은 경우 발생합니다. 다음을 확인하십시오.
  • Internet Explorer 설정 안전하지 않은 것으로 표시된 ActiveX 제어 초기화 및 스크립트 사용 여부.
  • 애플리케이션이 HTML 페이지를 통해 로드되고 애플리케이션에 ID 속성 세트를 가진 <object> 태그가 있으며 ID 속성에 마침표 또는 하이픈이 들어 있는지 여부.
  • 애플리케이션이 웹 서버에서 로드되거나 신뢰할 수 있는 SWF 파일에서 로컬로 로드되는지 여부.
ObjectNotFound 예외가 스크립트 재생 중에 발생하며 예외 메시지가 오브젝트 상태가 잘못되었음을 표시합니다.

예: Looking for [button] with state [ENABLED|VISIBLE|READY], possible failing candidate[{.mappableClassIndex=0, text=*!ENT!*, .classIndex=0}] with incorrect state [DISABLED]

재생 중에 Rational Functional Tester는 테스트 오브젝트에 대해 다음 상태 중 하나를 예상합니다.
  • ENABLED
  • VISIBLE
  • READY(브라우저의 경우)
테스트 오브젝트의 상태가 예상된 상태와 일치하지 않는 경우 ObjectNotFound 예외가 발생합니다.
예외를 대체하려면 오브젝트 앵커를 널(null)이나 ANY로 설정하십시오.

예를 들어, button().click();button(null, DISABLED).click();으로 바꾸십시오.

Functional Tester는 GEF 오브젝트를 FigureCanvas로 인식합니다. 표준 및 비표준 GEF 편집기를 사용하여 구현되는 GEF 오브젝트는 FigureCanvas로 인식됩니다.
  • GEF 인에이블러 플러그인 com.rational.test.ft.gef_xx.jar이 AUT의 plug-in 디렉토리에 존재하는지 확인하십시오.
  • GEF 오브젝트가 사용 후에도 식별되지 않는 경우 -clean 옵션을 사용하여 AUT를 시작하십시오.
  • 비표준 편집기의 경우 비표준 GEF 편집기(AUT)에 getAdapter 메소드를 추가하십시오. 이 메소드는 Functional Tester가 편집기에서 GEF 편집기를 인식하기 위해 GraphicalViewer의 인스턴스를 가져오는 데 사용됩니다.
    public Object getAdapter(Class type)
    {
    if (type == org.eclipse.gef.GraphicalViewer.class)
     {
    <<return the current instance of org.eclipse.gef.GraphicalViewer>>
     }
    }
Functional Tester, 버전 8.0으로 Internet Explorer 7.0에서 레코딩 및 재생하는 중의 문제점. 그러나 레코딩 및 재생 스크립트는 Functional Tester 7.x에서 작업합니다. 이 문제점은 Internet Explorer 7.0에서 재생 성능을 개선하기 위한 Functional Tester의 변경 때문에 발생할 수 있습니다.
성능 변경 플래그를 false로 설정하고 문제점이 해결되는지 테스트하십시오. 성능 플래그를 변경하려면 다음을 수행하십시오.
  1. <Functional Tester 설치 디렉토리>\SDP\FunctionalTester\bin에 있는 ivory.properties 파일을 여십시오.
  2. rational.test.ft.html.enableie7performancechanges=false를 설정하십시오.
    주: 이 플래그를 false로 변경하면 Internet Explorer 7.0에서 HTML 애플리케이션을 테스트하는 중에 성능이 영향을 받습니다.
  3. 변경이 적용되도록 Internet Explorer 7.0을 다시 시작하십시오.
Firefox 2.0에서 Firefox 3.0으로 업그레이드한 후 인에이블러가 Firefox 3.0을 사용 가능으로 표시하더라도 Firefox 3.0 브라우저를 기본적으로 사용할 수 없습니다. Firefox 3.0은 Firefox 2.0과 동일한 위치에 설치됩니다. 따라서 다른 인에이블먼트 dll이 필요합니다. Firefox 3.0 브라우저를 사용하려면, Firefox 2.0에서 Firefox 3.0으로 업그레이드한 후 브라우저를 사용 불가능하게 했다가 사용 가능하게 하십시오.
브라우저를 사용 가능하게 한 후 Microsoft Windows Vista의 Internet Explorer 7.0에서 스크립트를 레코드할 수 없습니다. 스크립트를 레코드하려면 Windows Vista에서 Internet Explorer 7.0 브라우저 설정을 변경해야 합니다. 브라우저 설정을 변경하려면 다음을 수행하십시오.
  1. 도구 > 인터넷 옵션 > 보안 마법사로 이동하십시오.
  2. 보호 모드 선택란을 지우십시오.
  3. 브라우저를 다시 시작하십시오.
Firefox 버전 3.0에서 Dojo 로그를 볼 수 없습니다. FireFox 버전 3.0에서는 Dojo 로그를 보기 위해 설정해야 하는 보안 플래그가 거의 없습니다. 이러한 보안 플래그는 Firefox 버전 3.0을 사용하여 설치된 Dojo의 파일 시스템에 있는 Java 스크립트에 액세스할 수 있습니다. Firefox 3.0에서 Dojo 로그를 보려면 다음을 수행하십시오.
  1. Firefox 3.0 브라우저에 about:config를 URL로 입력하십시오.
  2. 다음 보안 플래그를 설정하십시오.
    • 키: security.fileuri.origin_policy 및 값: 3
    • 키: security.fileuri.strict_origin_policy 및 값: false
애플리케이션 구성 마법사를 통해 웹 애플리케이션 > 컴파일 시간 옵션을 사용하여 Flex 애플리케이션을 실행할 수 없습니다. 애플리케이션 구성 마법사는 Flex 애플리케이션 mxml 파일에 대응하는 swf 파일 및 html 페이지를 생성합니다. 마법사를 통해 생성된 html 페이지에는 swf의 전체 경로가 포함됩니다. 그러나 웹 애플리케이션의 경우 애플리케이션은 URL의 localhost 옵션을 사용하여 실행됩니다. 전체 경로를 통해 swf에 액세스할 수 없으므로 애플리케이션이 실행되지 않습니다. 전체 경로가 아닌 swf 이름만 가리키도록 html 페이지를 수정하십시오.
  • <param name="movie" value="C:\FlexSample\Smoke.swf"><param name="movie" value="Smoke.swf"/>로 변경하십시오.
  • <embed src="C:\FlexSample\Smoke.swf"><embed src="Smoke.swf">로 변경하십시오.

피드백