QTP에는 개체를 저장하는 개체 리포지토리가 있습니다. 그리고 이러한 객체는 재사용 할 수 있습니다. 여기서 재사용은 무엇을 의미합니까? 그 객체는 메모리에 보관되어 있습니까? .... 객체 저장소는 객체 일 경우 속성을 저장하는 xml 파일입니다.어떻게 객체 저장소가 작동하고 어떻게 더 빠릅니까?
답변
오브젝트 저장소는 오브젝트 자체의 저장소가 아닌 오브젝트 설명의 저장소로 생각할 수 있습니다. QTP는 오브젝트 저장소를 사용하여 지정한 특성에 따라 런타임 오브젝트를 식별합니다. 처음에 일부 작업을 기록하면 기본 식별 특성 만 저장됩니다. 런타임에 객체를 올바르게 식별하지 못하는 경우와 같이 필요에 따라 객체를 수정할 수 있습니다. 리포지토리가 편집기에서 실제로 볼 수있는 XML 구조 일 뿐이라는 사실에 옳은 것입니다 ("장면의 배후"). "재사용"이란 다른 테스트에서 동일한 오브젝트 리포지토리를 참조 할 수 있으므로 테스트 리포지토리에 개체를 식별하고 추가하는 작업을 거칠 필요가 없음을 의미합니다. 예를 들어 웹 애플리케이션에서 데이터 테이블을 사용하는 두 가지 테스트가있을 수 있습니다. 두 개의 테스트 관련 리포지토리를 만드는 대신 하나의 공유 리포지토리를 만들고이 리포지토리에 포함 된 데이터 테이블 설명을 사용하여이 테이블과의 테스트 상호 작용을 모두 수행 할 수 있습니다. 런타임에 개체를 식별하는 데 사용할 수있는 두 번째 방법은 정규 표현식입니다. 유지 보수성이 문제가됨에 따라 대규모 테스트 또는 테스트 세트를 설계 할 때 유연성이 떨어집니다. 그러나, 그들은 IMHO 인 경향이 있습니다. 오브젝트 저장소를 사용하는 것보다 조금 빠릅니다. 코드 예제 :
If Browser(“hwnd:=“ & browserTitle).Page(“url:=“ & pageUrl).Exist(0) then
'Do something...
End If
당신은 저장소에 브라우저 객체를 추가하거나 위의 코드를 사용하여 확인 할 수 있었다. 설명 적 프로그래밍이 대안이지만, 대부분 검문소 주변에서 사용되어야합니다. 실제로 저장소의 객체 식별 속성에 정규 표현식을 실제로 사용할 수는 있지만 다른 이야기입니다. 그 주변에 더 많은 정보가 필요한 경우 알려주십시오.
희망 사항은 개요를 제공합니다.
오브젝트를 다시 사용할 수 있다는 것은 하나 이상의 테스트에서 오브젝트 리포지토리에 저장된 오브젝트와 동일한 테스트에서 하나 이상의 시간을 사용할 수 있음을 의미합니다.
예 : 로그인 페이지가 2 개의 애플리케이션에서 공유되어 있고이 두 애플리케이션에 대해 2 가지 테스트 스크립트를 유지 관리한다고 가정 해 보겠습니다. 이 페이지에는 사용자 이름, 암호 및 응용 프로그램 이름 필드가 있습니다.
개체 저장소 (Login_Page (부모 개체) 및 Username, Password 및 Application_Name (자식 개체))의 개체는 두 가지 다른 응용 프로그램의 스크립트에서 공유 할 수 있습니다.
객체는 테스트의 일부로서 저장된다 (.mtr 형식 -만을 포함하는 스크립트 가능) 및 공유 객체 저장소 (.tsr 형식 - 그것과 연관되어있는 스크립트 가능한). 따라서 실제로는 로컬 시스템이나 Quality Center 또는 공유 네트워크 경로에 저장됩니다.
개체 저장소는 독점 형식 (.mtr 또는 .tsr)으로 저장되며 xml 형식으로 내보낼 수 있습니다.
많은 웹 사이트 언급과는 달리 객체 액세스 속도는 다른 메소드와 매우 비슷합니다 (Set 메소드, Descriptive 프로그래밍 등 사용). 객체에 접근하는 데 걸리는 시간은 저장소에있는 객체의 '깊이'에 달려 있습니다.
계층 구조가 브라우저> 페이지> 프레임> Field1, Field2 ...라고 말합니다.
아무리 많은 브라우저 객체가 존재 브라우저 객체 번째 액세스 * n 개의 *에 걸리는 시간이 얼마나 (그것은 '0 수준 깊은.'페이지 ' 깊은 1 수준'이다) 거의 평평하게 유지합니다. 그 자식 객체에 대해서도 마찬가지입니다.
설명 프로그래밍 및 객체 저장소를 사용하여 값을 설정하는 시간차 (WebEdit 상자)는 100 회 반복에서 ~ 2 초 정도입니다 (설명이 더 빠르게 진행됨).
또한 QTP에서 사용할 수있는 공식 문서에는 저장소 크기가 커질수록 스크립트 실행 스크립트가 영향을 받는다는 언급이 없습니다. (나는 이것을 194KB와 38.5MB의 저장소 크기로 테스트했다.)
regular expressions
이라는 용어의 사용은 잘못된 것이므로 descriptive programming
을 의미하며이 옵션에서는 상당히 더 느리고 더 어려운 유지 관리를 위해 예외적으로 더 빠른 테스트 실행을 교환합니다.
- 1. dart2js 코드가 자바 스크립트보다 어떻게 더 빠릅니까?
- 2. 어떻게 작동하고 제외 ...
- 3. 무엇이 더 빠릅니까? fifo
- 4. 어떻게 디스크 검색이 컬럼 지향 데이터베이스에서 더 빠릅니까
- 5. 캐스팅은 어떻게 작동하고 부모에게 돌아 오는가?
- 6. Serializable은 어떻게 작동하고 왜 Parcelable보다 느리게 사용합니까?
- 7. 어떤 ActiveRecord 쿼리가 더 빠릅니까?
- 8. 어느 것이 더 빠릅니까?
- 9. 어떤 함수가 더 빠릅니까?
- 10. 튜플이나리스트가있는 string.join이 더 빠릅니까?
- 11. 왜 벡터화가 더 빠릅니까
- 12. 어떤 선택자가 더 빠릅니까?
- 13. 어느 것이 더 빠릅니까?
- 14. JavaScript로드가 더 빠릅니까?
- 15. 정적 기능이 더 빠릅니까?
- 16. 이 jquery가 더 빠릅니까?
- 17. LinkedHashMap과 TreeMap이 더 빠릅니까?
- 18. 어떤 코드가 더 빠릅니까?
- 19. 수은 저장소가 깨끗한 상태인지 어떻게 확인합니까?
- 20. 어떻게 GWT RequestFactory의 .edit()와 작동하고
- 21. 어떻게 객체
- 22. , 어떻게 객체
- 23. 어떻게 객체
- 24. 어떻게 더
- 25. matlab mex 함수 또는 공유 객체/DLL이 더 빠릅니까?
- 26. `success` 함수는 어떻게 작동하고 어떻게 모방 할 수 있습니까?
- 27. 어떻게 그리고 왜이 코드가 내 것보다 빠릅니까?
- 28. 기본 레일 - 어떻게 link_to가 작동하고 렌더로 대체할까요?
- 29. 어떻게 size_t에서 작동하고 CGFloat로 끝날 수 있습니까?
- 30. set_error_handler 작동하지 않습니다 어떻게 작동하고 싶습니다