2016-10-31 6 views
0

다음 문제가 있습니다.Ranorex 저장소 요소를 dinamically 참조하십시오.

일부 저장소 요소를 dinamically 참조하고 싶습니다.

예를 들어 버튼이 있습니다. 삭제 버튼이라고 가정 해 보겠습니다.

그것은 이름은 다음과 같이 구성되어있다 : 빌의 경우

Joe.DeleteButton 

, 그것은이라고합니다 : 내가 삭제 버튼이 스파이에서 호출이 경우 "조" 라는 요소를 삭제한다고 가정

Bill.DeleteButton 

나는 그것에 클릭을 구현하려면이 같은 성명을 사용하고 싶습니다 :

repo.Joe.DeleteButton.Cklick(); 
repo.Bill.DeleteButton.Cklick(); 

하지만 이름은 런타임 중에 결정됩니다.

이 repo ... 문을 동적으로 설정하거나 구성 할 수 있습니까? (런타임 중) dinamically torefer하는 방법이 있습니까?

+0

투어를 가져 와서 좋은 질문을하는 방법을 읽어보십시오. 훌륭한 피드백을 얻고 투표를 피하는 것이 매우 중요합니다. http://stackoverflow.com/tour 및 http://stackoverflow.com/help/how-to-ask – Tom

+0

이것은 XY 문제처럼 보입니다. Joe와 Bill을 동적 객체로 도입하여 해결하려는 문제가 있습니다. 그러나 당신의 문제는 무엇입니까? 어쩌면 그것은 더 우아한 방법으로 해결 될 수도 있습니다. –

답변

0

완전한 대답을 얻으려면 두 삭제 단추의 XPath를 알아야합니다. /form[@title='Joe']/button[@accessiblename='Delete']

빌 삭제 =

조 삭제 버튼 : 조와 빌은 모두 형태가 있고 둘 다 삭제 버튼을 포함하는 경우

는 예를 들어, 환매 특약 항목의 XPath 구문은 다음과 같이 될 수있다 당신은 단지에 관계없이 폼 이름의 삭제 버튼을 클릭 wan't 경우 버튼 = /form[@title='Bill']/button[@accessiblename='Delete']

, 단순히 이에는 XPath 구문을 변경 :

모든 삭제 버튼 = /form/button[@accessiblename='Delete']

@processname을 추가하여 앱의 삭제 버튼인지 확인하거나 테스트중인 앱에 고유 한 다른 것을 사용할 수 있습니다.

특히 Ranorex Spy는 가장 친한 친구입니다.

당신이 XPath에 대한 자세한 내용을 알고 wan't 경우

, 나는 (당신의 시간 정말 가치) Ranorex의 스크린 캐스트를보고합니다 recommened : Ranorex XPath tips and tricks

다음 문서 XPath의에 대한 중요한 정보가있다 Ranorex Screen casts

희망이 도움이됩니다!

1

Joe와 Bill이 동일한 유형을 가지고 있고 일부 repo 컨테이너에있는 경우 과 같은 것을 찾을 수 있습니다. Ranorex.Adapter namesContainer = repo.NamesContainer.Self; 목록 < Names_Type> namesList = namesContainer.FindChildren < 이름 _ 유형>();

그 후, 각각의 이름이 길

namesList [1] .DeleteButton.Click()에서 클릭 할 수있다;