Question
モバイルオートメーションで動的 UI 要素のテキストを取得する方法を教えてください。『テキストを取得』アクティビティで「* (ワイルドカード)」の設定を試しましたが、対象の動的 UI 要素を認識しません。
Answer
解決策
下記ガイドに記載の通り「* (ワイルドカード)」はサポートしておりません。
注:
モバイル オートメーション セレクターではワイルドカード文字はサポートされていません。
下記ガイドの『属性を取得』アクティビティを利用して動的な UI 要素のテキストを取得できる可能性があります。
下記実装手順に沿って動的な UI 要素のテキストの取得をお試しください。
- 『属性を取得』アクティビティを配置して「ターゲットを指定」をクリックします。
- モバイル上の画面から取得したい位置にある UI 要素をクリックして、表示された「セレクター」の「text」属性を削除して「あいまいセレクター」のチェックを外します。
- 表示内容や位置が変動しない UI 要素をクリックしてアンカーを設定します。下図例では「ホームボタン」を設定しています。
- 『属性を取得』アクティビティの「属性名」プロパティに文字列として「“text”」と入力して「属性」プロパティに文字列型変数を設定します。下図例では文字列型変数として定義した「strText」を設定し、取得した値を確認するために『メッセージをログ』アクティビティを配置しています。
- 動作確認をおこないます。下図例ではモバイル上の画面から「アメーバブログ」というテキストが取得できていることが確認できます。
- モバイル上の画面から「アメーバブログ」を削除して再度取得を試みると「Yahoo! JAPAN」というテキストを取得したことから、もともと「アメーバブログ」が表示されていた位置のテキストが取得できていることが確認できます。