이제 QTP를 사용하여 온라인 상점 웹 사이트를 테스트하고 있습니다.QTP : 스크립트 실행 중에 생성 된 개체를 식별하는 방법은 무엇입니까?
발생한 문제는 매우 까다 롭습니다. 이미 계좌가있어서 제품을 주문하면 청구서 수신 주소가 자동으로 표시됩니다.
내가 테스트해야하는 것은이 주소를 변경하려면이 주소가 "내 주소"에 추가되어야한다는 것입니다. 변수에 입력 된 주소를 설정할 수 있습니다. like (newaddress = "Sk ks, ....") 하지만 문제는 내가 만든 개체를 식별 할 수 없다는 것입니다. 그것은 스크립트가 실행되는 동안 만들어 졌기 때문에 실행 중입니다. 아무도 아이디어가 있니?
myQTP은 "SK KS ..."SPAN을 찾을 수있는 스크립트.
Set mypage = Browser("Browser").Page("Micasa")
If mypage.webelement("html tag:=span").Exist(3) Then 'or even class:=headline
msgbox "it exists"
Else
msgbox "doesn't exist"
End if
End if
오른쪽. 나는 O.R을 사용한다. 스크립트를 실행하는 동안 구성 요소가 읽기 전용 모드로 열리므로 개체를 식별 할 수는 있지만 새 행을 추가 할 수는 없습니다. 그 때문에 스크립트를 중지하고 구성 요소를 다시 열고 O.R에 새 Object를 추가하여 객체를 식별했습니다. 하지만 다음 번에 스크립트를 실행하면 선택한 오래된 객체 (예 : - andereName ..)가 표시되지만 최근에 만든 객체는 표시되지 않습니다. (Sk ks ..) –
구성 요소를 인식하는 것처럼 보입니다 그것은 '가치'속성 (또는 비슷하게)입니다. 처음으로이 속성의 값은 'andereName'이고 두 번째는 'Sk ks'입니다. 설명 속성을보다 일반적인 것으로 바꾸거나 추가해야합니다. 잘 만들어진 웹 페이지에서는 고유 한 식별자로 'html id'가 될 것이고, 게으른 개발자라면 고유 식별자가없고 '태그 이름', '클래스'및 결국 서수 식별자로 인식해야합니다. – AutomatedChaos
'태그 이름'은 SPAN이고 클래스는 'webelement'입니다. 두 개체는 내부 텍스트를 제외하고 동일한 값을 갖습니다. 서수 식별자에서 유형 값 "sk ks .."가 표시되고 "인덱스 0"이 표시되고 두 번째 개체에는 "인덱스 1"이 표시됩니다. 스크립트에서이 차이를 어떻게 사용할 수 있습니까? –