2012-09-20 1 views
1

내 응용 프로그램의 일부 레이블이 대소 문자를 변경했기 때문에 더 이상 내 응용 프로그램과 일치하지 않는 저장소에 여러 개체가 있습니다.QTP의 Object Repository를 대소 문자를 구분하지 않는 [빠른] 방법이 있습니까?

예를 들어, 한 번이었던 Workspace locations은 이제 Workspace Locations이고 자본은 L입니다.

이전 버전의 내 앱과 새 버전 (새 대문자 사용)에서 내 개체가 계속 인식되도록하려면 빠른 방법이 필요합니다. 각 개체의 첨부 된 텍스트 특성 (스크린 샷 참조)에 (?i)을 삽입하여 대/소문자를 구분하지 않는 느린 방법을 찾았지만 놀랍도록 느립니다. 특히 수십 개의 테스트와 수십 개의 테스트를 수정할 수있는 개체가 여러 개인 경우 특히 그렇습니다.

전체 테스트에서 객체 속성을 일치시킬 때 대/소문자를 구분하지 않아도되는 빠른 방법이 있습니까?

Case-insensitivity the long way

답변

1

은 첫 번째 백업을 기억하시기 바랍니다!

Object Repository Manager를 통해 오브젝트 저장소를 XML로 내보낼 수 있습니다. 당신은 XML에서 당신의 변화를 만들 수 있습니다, 나는 "1"에 regularexpression 매개 변수를 변경하는 것이 좋습니다 <qtpRep:Property Name="title". 이제 제목 요소는 정규 표현식으로 인식되고 정규 표현식은 QTP에서 기본적으로 대소 문자를 구별합니다.
참고 : 특수 정규식 문자 (+, ?, *, \ 등) 인 제목의 문자는 백 슬래시로 이스케이프 처리해야합니다.

일단 준비가되면 변경된 오브젝트 저장소를 가져올 수 있습니다.

+0

일반적으로 좋은 방법이지만, 말했듯이 필자는 코드에서 수동으로 이스케이프해야하는 특수한 정규식 문자를 찾아야합니다. 그래서 그것은 너무 많은 지름길처럼 들리지 않습니다. – Eptin

+0

@ 엡틴, 나는 당신이있는 상황을 이해하고 나는 쉬운 해결책이 없습니다. 당신은 정규 표현식 문자를 수동으로 이스케이프 처리해야하는 코드를 가져야 만하지만, (*. $ {}().? + \ |를 같은 문자로'\' 그것 앞에서). 그러나 그것은 그것을 덜 복잡하게하지 않을 것이다, 나는 두려워한다. – AutomatedChaos

관련 문제