2016-07-24 11 views
1

Ranorex専門家による要素を探すRanorex:、オートメーションID

私はranorexに新しいとWindowsデスクトップアプリケーションのranorex C#のAPIを使用しようとしています。どのようにC#のオートメーションID /テキストだけで要素を見つけるには?

何かのように、

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

または

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

探しているしかし、APIドキュメントでは、私が見ることができるすべては、XPath(RanoreXPath)ベースのオブジェクトIDです。

答えて

0

要素を見つけるXPath構文を見つけるのに役立つように、Ranorex Spyを使用することを強くお勧めします。

自動テストのメンテナンスを大幅に簡素化するため、ユーザーコードの代わりにレコーダーを使用することをおすすめします(また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を開いて "Track"をクリックし、要素がある場所をクリックします。スパイで「BROWSER & RESULTS」タブに移動し、ツリーを見てください。右側にはタブ "概要/詳細"が表示され、詳細タブでは下にスクロールして要素の名前を探します。

また、これを試すこともできます:要素へのパスを編集し、 "適用"を押します。たとえば、上で示唆したように、--//text[@automationid='DealerNameText ']または.//button[@automationid='ButtonPause'と@ visible = 'true']は、要素によって異なります。これをチェックして、助けてくれましたhttps://www.ranorex.com/support/user-guide-20/ranorexpath.html

+0

はあなたの要素の種類を知っていれば、あなたがこれを行うことができ、追加するのを忘れ: /フォームを[ProcessNameの@ = 'MyAppの'] //コンテナ[たAutomationID = @ 'MyElementName'] /[@ processname = 'MyApp'] =ルートプロセス //任意の子孫です。これは非常に重要です!要素がどこにあるのかわからないが、型と名前を知っている場合は、この例を使用してください。 container = type [@ automationid = 'MyElementName'] =要素の名前 – Sunguresat