2012-03-02 3 views
1

이제 QTP를 사용하여 온라인 상점 웹 사이트를 테스트하고 있습니다.QTP : 스크립트 실행 중에 생성 된 개체를 식별하는 방법은 무엇입니까?

발생한 문제는 매우 까다 롭습니다. 이미 계좌가있어서 제품을 주문하면 청구서 수신 주소가 자동으로 표시됩니다.

내가 테스트해야하는 것은이 주소를 변경하려면이 주소가 "내 주소"에 추가되어야한다는 것입니다. 변수에 입력 된 주소를 설정할 수 있습니다. like (newaddress = "Sk ks, ....") 하지만 문제는 내가 만든 개체를 식별 할 수 없다는 것입니다. 그것은 스크립트가 실행되는 동안 만들어 졌기 때문에 실행 중입니다. 아무도 아이디어가 있니?

enter image description here

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 

답변

2

정확하게 문제가 무엇인지 이해하는 것이 어렵지만 나를 도와 드리겠습니다.

문제를 일으키는 부분에 중단 점을 넣으려고 했습니까? 중단 점을 배치 한 후에는 스크립트를 실행할 수 있으며 중단 점의 지점에서 자동으로 중단됩니다. 거기에서 GUI 스파이와 Object Repository (O.R.를 사용하고 Descriptive Programming을 사용하지 않는 것으로 가정)를 사용하여 O.R.에서 설명을 만드는 객체를 검색 할 수 있습니다. 더 일반적인.

+0

오른쪽. 나는 O.R을 사용한다. 스크립트를 실행하는 동안 구성 요소가 읽기 전용 모드로 열리므로 개체를 식별 할 수는 있지만 새 행을 추가 할 수는 없습니다. 그 때문에 스크립트를 중지하고 구성 요소를 다시 열고 O.R에 새 Object를 추가하여 객체를 식별했습니다. 하지만 다음 번에 스크립트를 실행하면 선택한 오래된 객체 (예 : - andereName ..)가 표시되지만 최근에 만든 객체는 표시되지 않습니다. (Sk ks ..) –

+0

구성 요소를 인식하는 것처럼 보입니다 그것은 '가치'속성 (또는 비슷하게)입니다. 처음으로이 속성의 값은 'andereName'이고 두 번째는 'Sk ks'입니다. 설명 속성을보다 일반적인 것으로 바꾸거나 추가해야합니다. 잘 만들어진 웹 페이지에서는 고유 한 식별자로 'html id'가 될 것이고, 게으른 개발자라면 고유 식별자가없고 '태그 이름', '클래스'및 결국 서수 식별자로 인식해야합니다. – AutomatedChaos

+0

'태그 이름'은 SPAN이고 클래스는 'webelement'입니다. 두 개체는 내부 텍스트를 제외하고 동일한 값을 갖습니다. 서수 식별자에서 유형 값 "sk ks .."가 표시되고 "인덱스 0"이 표시되고 두 번째 개체에는 "인덱스 1"이 표시됩니다. 스크립트에서이 차이를 어떻게 사용할 수 있습니까? –

1

테스트 실행 중에 생성 된 개체를 식별하는 데 문제가 없어야합니다. QTP가 객체를 찾지 못하면 조금 기다렸다가 다시 시도합니다. 귀하의 문제는 귀하가 찾고있는 WebElement에 대한 좋은 설명을 찾는 것으로 보입니다.

AutomatedChaos의 답변에 대한 의견을 보면 매우 구체적인 설명이없는 것 같습니다 (html tag 만 해당). 이것이 실제로 당신이 당신의 WebElement에 관해 아는 것이라면 시각적 관계 식별자 (QTP11 사용)을 사용하여 당신의 요소를 찾을 수 있습니다.

관련 문제