2016-07-24 6 views
1

Ranorex 전문가에 의해 요소를 찾기Ranorex : 자동화 ID

내가 ranorex에 새로운 윈도우 데스크톱 응용 프로그램에 대한 ranorex C#을 API를 사용하려고 해요. C#에서 자동화 ID/텍스트로만 요소를 찾는 방법은 무엇입니까?

같은 뭔가를

mainWindow.Get(SearchCriteria.ByAutomationId("<automationId>")) 
mainWindow.Get<Button>("<automationId>"); 

또는

mainWindow.Button.GetElement("<automationId>"); 

을 찾고 그러나 API 문서에서, 내가 볼 수있는 모든 XPath는 (RanoreXPath) 기반의 객체 식별합니다.

답변

0

요소를 찾기 위해 XPath 구문을 찾는 데 도움이되도록 Ranorex 스파이를 사용하는 것이 좋습니다 (많은 시간을 절약 할 수 있습니다).

자동 테스트 유지 관리가 매우 간편해지기 때문에 사용자 코드 대신 직접 레코더를 사용하는 것이 좋습니다 (Ranorex 학습 촉진). 녹음기를 사용하여 녹음을 만들고 해당 소스 파일을 열면 녹음 한 모든 작업을 수행하는 데 필요한 동일한 코드가 표시됩니다. 사용자 코드를 개발할 때 많은 시간을 절약 할 수 있습니다 ...

희망이 당신을 올바른 방향으로 안내합니다.

2

당신은 전체 XPath를 제공해야하지만,이

Host.Local.FindSingle("//button[@automationid='autoidname']"); 

소스 같은 것을 사용 해달라고 : http://www.ranorex.com/support/user-guide-20/ranorexpath.html

+0

Suresh는 AUT에 대한 참조를 추가 했으므로 xpath에도 대상 양식을 추가하는 것이 좋습니다. 이렇게하면 요소를 빠르게 식별 할 수 있습니다. 예 : xpath는 다음과 같습니다. "/ form [@ title = 'TheTitle'] // div [@ innertext = '테스트 데이터']". "//"은 div가 폼의 어딘가에 중첩되어 있으며 직접적인 자손이 아니라는 것을 의미합니다. 또한 일부 작업을 사용하려면 개체의 인스턴스를 만들어야합니다. 예를 들어 HTML 링크의 경우 : "ATag aLink = Host.Local.FindSingle ("dom [@ domain = 'www.google.com'] // a [@ innertext = 'Pictures']); 다음으로 "aLink.PerformClick();" – Martin

0

당신이 알고 마십시오가있는거야? 대략? 예인 경우 SPY를 열고 "트랙"을 클릭 한 다음 요소가있는 해당 영역을 클릭하십시오. 스파이의 경우 "BROWSER & RESULTS"탭으로 이동하여 트리를 살펴 봅니다. 오른쪽에서 "개요/고급"탭을 볼 수 있으며 고급 탭에서는 아래로 스크롤하여 요소의 이름을 찾습니다.

또한 시도해 볼 수 있습니다 : 요소의 경로를 수정하고 "적용"을 누르십시오. 예를 들어 위에서 제안한대로 --//text[@automationid='DealerNameText '] 또는 .//button[@automationid='ButtonPause'및 @ visible = 'true']는 요소에 따라 다릅니다. 이것 좀 봐, 많이 도와 줬어 https://www.ranorex.com/support/user-guide-20/ranorexpath.html

+0

요소 유형을 알고있는 경우 추가를 잊어 버렸습니다. /form [@ processname = 'MyApp'] // 컨테이너 [@ automationid = 'MyElementName'] /form [@ processname = 'MyApp'] = 루트 프로세스 // 어떤 자손 이건 매우 중요합니다! 요소가 어디에 있는지 모르지만 유형과 이름을 알고 있다면이 예제를 사용하십시오. container = type [@ automationid = 'MyElementName'] = 내 요소 이름 – Sunguresat