2016-07-24 7 views
1

Ranorex экспертов,Ranorex: Найти элемент по автоматизации ид

Я новичок в Ranorex и пытается использовать Ranorex C# API для окна настольного приложения. Как найти элемент только с помощью идентификатора/текста автоматизации в C#?

Ищете что-то подобное,

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

или

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

Но в API Docs, все, что я могу увидеть XPath (RanoreXPath) на основе идентификации объекта.

ответ

0

Чтобы найти синтаксис XPath для поиска элемента, настоятельно рекомендуется использовать Ranorex Spy (сэкономит вам много времени).

Я бы также рекомендовал использовать рекордер вместо прямого кода пользователя, потому что он значительно упрощает обслуживание автоматических тестов ... (и облегчает обучение Ranorex). BTW, если вы создаете запись с помощью рекордера и откройте соответствующий исходный файл, вы увидите эквивалентный код, необходимый для выполнения любых действий, которые вы записали. Экономит много времени при разработке кода пользователя ...

Надеюсь, это указывает на то, что вы в правильном направлении.

2

вы не должны дать все XPath, но использовать что-то вроде этого

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

Источник: http://www.ranorex.com/support/user-guide-20/ranorexpath.html

+0

Поскольку Суреш добавил ссылку на AUT, рекомендуется добавить целевую форму в xpath. Это приведет к быстрой идентификации элемента. Например. форма, указанная в xpath, будет: "/ form [@ title = 'TheTitle'] // div [@ innertext = 'Test data']". «//» означает, что div вложен где-то в форму и не является прямым потомком. Также для использования некоторых действий над ним вы должны создать экземпляр объекта. Например, для html-ссылки: «ATag aLink = Host.Local.FindSingle (« dom [@ domain = 'www.google.com'] // a [@ innertext = 'Pictures']); ", а затем используйте его как "aLink.PerformClick();" – Martin

0

Вы знаете, где он находится? Примерно? Если да, откройте SPY, нажмите «Track», затем щелкните на той области, где находится ваш элемент. В шпионах перейдите к вкладке «BROWSER & РЕЗУЛЬТАТЫ» и просмотрите дерево. С правой стороны вы можете увидеть вкладки «Обзор/Дополнительно», а на вкладке «Дополнительно» прокрутите вниз и найдите имя своего элемента.

Также вы можете попробовать следующее: отредактировать путь к элементу и нажать «Применить». Например, как было предложено выше - используйте .//text[@automationid='DealerNameText '] или .//button[@automationid='ButtonPause' и @ visible = 'true'] зависит от вашего элемента. Проверьте это, мне очень помогли https://www.ranorex.com/support/user-guide-20/ranorexpath.html

+0

Забыл добавить, если вы знаете тип своего элемента, вы можете сделать это: /form [@ processname = 'MyApp'] // container [@ automationid = 'MyElementName'] /form [@ processname = 'MyApp'] = root process // = любые потомки. Это очень важно! Если вы не знаете, где находится ваш элемент, но вы знаете тип и имя, просто используйте этот пример. container = type [@ automationid = 'MyElementName'] = имя моего элемента – Sunguresat