< 이전 | 다음 >

연습 10: 정규식 사용

오브젝트 맵을 사용하여 수행하는 마지막 작업은 특성 값을 정규식으로 변환하는 것입니다. 이 경우에 정규식은 오브젝트 인식에서 보다 많은 유연성을 제공합니다.
스크립트가 ClassicsB에서 패스되는 방법을 확인했습니다. ClassicsB에서 애플리케이션에 대한 변경사항이 올바르게 적용되었습니다. 따라서 스크립트를 다음 단계로 진행할 수 있습니다. 이제 ClassicsA에 대해 스크립트를 재생하면 이전의 변경사항으로 인해 재생에 실패하게 됩니다. 둘 이상의 오브젝트에 대한 변형을 패스하려 합니다. 동적 오브젝트를 보유하거나 오브젝트의 버전이 약간 다른 애플리케이션의 다수 버전을 보유할 수 있으며, 이 경우에는 둘 모두 올바릅니다. 정규식을 사용하여 텍스트와 같은 특성 값의 둘 이상의 버전이 이 시나리오를 수용하도록 할 수 있습니다.

오브젝트 맵 열기 및 오브젝트 통합

  1. ClassicsA에 대해 재생하려면 스크립트 맨 위에서 startApp 명령을 편집하고 B를 A로 변경하십시오.
  2. Functional Test 도구 모음에서 Functional Test 스크립트 실행을 클릭하십시오. 재생 중에 Functional Tester는 비밀번호 선택란 오브젝트에서 잠시 일시정지하지만 결국에는 완료됩니다. 이제 스크립트에서 경고가 발생합니다. 로그에서 rememberPassword 테스트 오브젝트와 동일한 오브젝트입니다.
  3. 로그를 닫은 다음 스크립트 탐색기의 rememberPassword를 두 번 클릭하여 연습 8에서 수행한 대로 비밀번호 선택란 오브젝트에서 오브젝트 맵을 여십시오.
  4. 오브젝트 맵에서 애플리케이션 > 실행을 클릭하여 애플리케이션을 여십시오. ClassicsJavaA를 선택한 다음 확인을 클릭하십시오.
  5. 임의의 CD를 선택하고 ClassicsCD에서 주문하기를 클릭하여 구성원 로그온 창을 여십시오.
  6. 테스트 오브젝트 > 오브젝트 삽입을 클릭하여 새 오브젝트를 맵에 추가하십시오.
  7. 오브젝트 파인더를 사용하여 애플리케이션의 구성원 로그온 창에서 비밀번호 선택란을 선택하십시오.
  8. 다음을 클릭한 다음 완료를 클릭하십시오.
  9. 오브젝트 맵의 맨 위 분할창에서 이전의 선택란 오브젝트를 새 선택란 오브젝트로 끌어 놓아 오브젝트를 통합하십시오.
  10. 필요한 경우, 필드의 한 쪽 면을 바깥쪽으로 끌어 필드 길이를 늘림으로써 테스트 오브젝트 통합 마법사를 확장할 수 있습니다.

    두 개의 서로 다른 정규식(이름 특성의 정규식 및 텍스트 특성의 정규식)을 사용합니다.

    통합된 오브젝트가 통합된 테스트 오브젝트 특성 눈금(맨 위 분할창)에 표시됩니다. 이름 특성의 값은 checkRemember입니다.

특성 값을 정규식으로 변환

  1. 맨 위 분할창에서 checkRemember 값을 마우스 오른쪽 단추로 클릭한 다음 정규식으로 값 변환을 클릭하십시오.

    Functional Tester는 값 텍스트의 앞에 있는 "xy" 아이콘을 사용하여 값을 정규식으로 지정합니다.

  2. 이름 값을 다시 두 번 클릭하면 필드를 편집할 수 있습니다.
  3. check를 삭제하고 다음과 같이 나머지를 편집하십시오([rR]emember).
  4. 셀의 외부를 클릭하십시오.

    이 패턴은 대문자 "R" 또는 소문자 "r"을 구분하여 "remember"가 패스되도록 허용합니다. 대소문자를 구분하여 비교하므로 정확히 일치해야만 패스되므로 이는 중요합니다. 텍스트 특성의 값은 "Remember Password"입니다.

  5. "Remember Password" 값을 마우스 오른쪽 단추로 클릭한 다음 정규식으로 값 변환을 선택하여 이를 변환하십시오.
  6. 값을 두 번 클릭하고 다음과 같이 나머지를 편집하십시오(Remember.*Password). 스페이스를 제거하며 마침표(.) 및 별표(*) 문자를 추가합니다.
  7. 다른 셀을 클릭하십시오.

    "." 를 사용하여 해당 위치에 임의의 문자를 표시할 수 있습니다. 애플리케이션의 한 버전에서는 이 특성의 두 단어 사이에 공백이 있고 다른 버전에서는 공백이 없습니다. 이 패턴은 두 가지 경우를 모두 포함합니다.

  8. 다음을 클릭한 다음 완료를 클릭하십시오.
  9. 오브젝트 맵에서 파일 > 저장을 클릭하여 변경사항을 저장한 다음 오브젝트 맵을 닫으십시오.
  10. ClassicsCD를 닫으십시오.
  11. ClassicsA에서 스크립트를 다시 재생하십시오. 이미지 검증 포인트와 특성 검증 포인트가 실패합니다. javax.swing.JLabel 오브젝트의 높이와 중량이 다르므로 이미지 검증 포인트가 실패합니다. Orders for Trent Culpito 텍스트가 정규식으로 변경되지 않았기 때문에 특성 검증 포인트가 실패하게 됩니다. ClassicsA에서의 오브젝트 인식 경고가 더 이상 로그에 표시되지 않습니다.
  12. 로그를 닫으십시오.
  13. startApp 명령을 변경하여 ClassicsB를 재생한 다음 스크립트를 실행하십시오.

    오브젝트 인식도 역시 ClassicsB에서 패스됩니다. 정규식은 서로 다른 버전의 애플리케이션에서 다른 특성을 보유하는 오브젝트에 대해 보다 유연성 있는 인식을 제공하며 둘 모두 재생 중에 인식됩니다. 정규식에 대한 자세한 정보는 Functional Tester 도움말을 참조하십시오.

< 이전 | 다음 >

피드백