【画面定義】Windowsアプリのキャプチャツールを使用しよう
はじめに
T-DASHではWindowsアプリの画面要素の値を取得できるキャプチャーツールも準備しています。
本ページでは、「Windowsアプリのキャプチャツールの使い方」について説明していきます。
※ 画面定義についてはこちら
前提
・「T-DASHでWindowsアプリのテスト自動化をしよう」を確認済みであること
https://service.valtes.co.jp/t-dash/function/tutorial/windowsapp_vol_001
ゴール
・Windowsアプリのキャプチャツールの使い方が理解できる
流れ
1.要素をトラッキングする
2.パスチェックをする
3.手動でパスを設定する
4.XPath検索を利用し自作のXPathを作成する
5.XPathの書き方に関して
詳細
1.要素をトラッキングする
1.1. 画面定義 > 登録済みの画面名をクリックする
1.2. サイドメニューから、画面定義を選択、「蔵書管理」をクリックして「T-DASH WinTool」を起動する
1.3. 「トラッキング」ボタン押下して対象のアプリをクリックする
※アプリケーション名やウィンドウタイトルが正しければ固定ボタン押下することでトラッキング対象を固定できます
※アプリを起動していない場合は「アプリ起動」ボタンからアプリの起動が可能です
1.4. 「選択行からトラッキング自動反映」チェックボックスを選択して、値を埋めたい行を選択します。
対象の要素にフォーカスして「Ctrl」ボタン長押し
1.5. 画像と合わせて値が取得されます。
※モニターなどデュアルディスプレイ上でトラッキングすると正確な画像がとれないことがあります。
1.6. 「保存」クリックすることでT-DASH上にも反映されます。
2.パスチェックをする
パスが正しく取れているか確認します。
今回の例では書籍の編集画面
2.1 .パスチェックを行いたい画面(書籍の編集)を選択し、「パスチェック」ボタンをクリックする
2.2.「アプリ起動」ボタンをクリックして対象の画面を開きます。
2.3.赤字でNGと表示された箇所はパスが正しく取れていないので改めてトラッキングして取り直します。
3.手動でパスを設定する
トラッキング操作をせずに構成ツリーを参考に手動でパス取りも可能です。
トラッキングのパスでうまく動かない場合は手動でパスを設定してみましょう。
3.1.対象アプリウィンドウ構成ツリー内の操作したい要素をクリックする
3.2.「要素XPath」に該当ツリーのパスが埋まるので、「コピー」ボタンでパス取得します
3.3.概要の要素の値にペーストする
4. XPath検索を利用し自作のXPathを作成する
トラッキング機能より要素のXPathを自動で作成しますが、リストのような動的に変更される要素については自作でXPathを作成する必要があります。
4.1 XPath検索欄使用方法について
アプリをトラッキングした状態で、対象アプリウィンドウ構成ツリーにて一番上の要素ルート要素を選択します。
選択すると、要素詳細情報にルート要素の要素情報が表示されます。
要素詳細情報を元にXPathを自作していきます。
XPathの入力形式の一つとして以下のフォーマットで書くことができます。
/コントロールタイプ[@属性="○○"]
コントロールタイプ(ControlType)が「Windows」、属性が「Name」、属性の値が「蔵書管理」から、次のように書くことができます。
/Window[@Name='蔵書管理']
XPath検索に入力すると、一致する要素にフォーカスが当たります。
この作業を目的の要素まで繰り返します。
書籍のアイテムリストを指定すると、書籍の件数が検索結果に表示されます。
/Window[@Name='蔵書管理']/List[@AutomationId='BookList']/ListItem
複数の要素が結果に表示された場合、上下の矢印ボタンでフォーカスを移動することができます。
4.2 動的な要素のXPath作成方法について
書籍のリストの最初の要素は「インデックス指定」でXPathを指定することができます。
/Window[@Name='蔵書管理']/List[@AutomationId='BookList']/ListItem[1]
書籍のリストの最後の要素は「last()」指定でXPathを指定することができます。
/Window[@Name='蔵書管理']/List[@AutomationId='BookList']/ListItem[last()]
以上が、自作のXPathを作成する方法です。動的に増える要素などには、自作のXPathを使って指定しましょう。今回は基本的なXPathの書き方について説明しましたが、XPathの記法にはさまざまな方法があります。
5.XPathの書き方に関して
XPathの書き方に関しては様々あります。
5.1 属性指定の書き方
/Window[@Name=’蔵書管理’]/List[@AutomationId=’BookList’]
5.2 配列指定の書き方
/Window[@Name=’蔵書管理’]/List[@AutomationId=’BookList’]/ListItem[10]
5.3. その他
・contains:属性に含まれているか
/Window[contains(@Name,”FlaUI WPF”)]//Edit[@AutomationId=”TextBox”]
・or:かつ
/Window[contains(@Name,”FlaUI WPF”)]/TitleBar/Button[@Name=”Schließen” or @Name=”Close” or @AutomationId=”Close”]
XPathの書き方で調べて色々なパスを設定してみてください