Appium Inspectorを使って画面要素を取得しよう(alpha版)
この記事はalpha版向けに作成されたものであり、現行バージョンと異なる点があります。
T-DASHでモバイルアプリ向けのテスト自動化を行う場合は、以下記事をご確認ください。
T-DASHでモバイルアプリのテストを自動化しよう(beta版)
はじめに
T-DASHでは、カスタム動作を用いてモバイルアプリのテストを実行することができます。
本ページでは、モバイルアプリの画面要素取得、そしてT-DASHへの画面定義登録方法について紹介いたします。
alpha版ご利用時の免責事項
モバイルアプリに対応するカスタム動作はalpha版のため、以下内容にご了承いただいた上ご利用ください。
- 開発中の動作を含んでいるため、想定と異なる振る舞いをする可能性があります。
- alpha版カスタム動作利用中にお客様へ不利益が生じた場合、当社では責任を負いかねます。
- カスタム動作の内容について、事前の予告なく変更となる可能性があります。
- 同等機能が今後T-DASHへ正式実装された場合の互換性は保証いたしかねます。
alpha版ご利用中に気になられた点やフィードバックなどございましたら、T-DASH内のお問い合わせよりご報告いただけますと幸いです。
カスタム動作のダウンロード
ゴール
モバイルアプリの画面要素を取得し、画面定義として登録できる。
前提
- 対象のモバイルアプリを所持している
- モバイルアプリ動作環境の構築が完了している
- T-DASHでモバイルアプリ対応プロジェクトを作成済みである
(モバイルアプリ対応カスタム動作をインポート済みのプロジェクト) - モバイル端末(実機・仮想)とT-DASHを利用しているPCが接続済み状態である
目次
手順
Appium Inspectorはモバイルアプリ内の要素を取得したり、アプリを操作するためのさまざまな機能が含まれるツールです。
Appium Inspector のインストール・起動
- https://github.com/appium/appium-inspector/releasesにアクセスする。
- 「Latest」表示が付いたバージョンの「Assets」欄から、ご利用中のPC環境に合うファイルをダウンロードする。
- ダウンロードしたファイルを解凍またはインストールし、Appium Inspectorを起動する。
(View → Languages で表示言語変更可能)
Appiumの起動
モバイル端末の接続にAppiumを利用するため、あらかじめAppiumを起動しておきます。
- コマンドプロンプト、またはターミナルを起動する
- 下記コマンドを入力す、appiumを起動する。
appium
Web版Appium Inspectorを利用される場合、CORSを有効にして起動する必要があります。appium --allow-cors
また、ブラウザを利用したテストを実行する場合、内部のWebDriver更新も有効にする必要があります。appium --allow-insecure chromedriver_autodownload
Capabilityの設定
CapabilityはAppium Inspectorとモバイル端末との接続に必要な情報です。
JSON形式でも設定可能であるため、下記手順を参考に用途別に設定を行ってください。
- 「JSONで表示」枠の下部にある鉛筆マークをクリック。
- 編集モードとなるため、用途別のJSONテキスト(後述)を貼り付けて保存アイコンをクリック。
- JSONの内容を元に左側のフォームが表示されるため、かっこ書きの値を利用環境に合った値に変更する。
「名前をつけて保存」ボタンで設定したCapabilityを保存することができます。
用途別のJSONテキスト
- Android端末でapkファイルを起動する
{
"appium:platformName": "Android",
"appium:automationName": "UiAutomator2",
"appium:udid": "(端末の名前)",
"appium:app": "(起動対象のapkファイルパス)"
}
- Android端末で既にインストール済みのアプリを起動する
{
"appium:platformName": "Android",
"appium:automationName": "UiAutomator2",
"appium:udid": "(端末の名前)",
"appium:appPackage": "(起動対象のアプリパッケージ)",
"appium:appActivity": "(起動対象のアプリActivity)"
}
- Android端末でWebブラウザ(Chrome)を起動する
{
"appium:
platformName": "Android","appium:automationName": "UiAutomator2"
,
"appium:udid": "(端末の名前)",
"appium:
browserName": "Chrome"
}
- iOS端末でappファイルを起動する
{
"appium:platformName": "iOS",
"appium:automationName": "XCUITest",
"appium:udid": "(identifier欄記載の端末のUDID)",
"appium:app": "(起動対象のappファイルパス)"
}
- iOS端末で既にインストール済みのアプリを起動する
{
"appium:platformName": "iOS
",
"appium:automationName": "XCUITest
",
"appium:udid": "(identifier欄記載の端末のUDID)
",
"appium:bundleId": "(起動対象アプリケーションのBundleID)"
}
- iOS端末でWebブラウザ(Safari)を起動する
{
"appium:
platformName": "
",iOS
"appium:automationName": "
,
"XCUITest
"appium:udid": "
",(identifier欄記載の端末のUDID)
"appium:
browserName": "safari"
}
セッションの接続・要素の取得
- 「セッションを開始する」ボタンをクリックすると、Appium Inspector上にモバイル端末の画面がミラー表示される。
- アイコンが選択されている状態でミラー表示されている画面をクリックすると、クリックした要素の情報が右側に表示される。
- 「ロケーター」部に記載されている内容が画面定義の値として利用できるため、任意の「セレクタ」文字列をクリックしクリップボードにコピーする。
T-DASH画面定義への登録
- T-DASHの画面定義を開き、任意の画面名で画面を登録する。
- 画面定義に値を入力する際、使用するロケーターによって値の先頭に文字を付加する。
- 要素の取得と入力を繰り返し、「保存する」ボタンクリックで画面定義の登録が完了する。
Appium Inspector ロケーター | T-DASH 値カラム入力文字列 |
-android uiautomator | android=(コピーしたセレクタ文字列) |
-ios class chain | chain=(コピーしたセレクタ文字列) |
-ios predicate string | predicate=(コピーしたセレクタ文字列) |
accessibility id | accessibility_id=(コピーしたセレクタ文字列) |
xpath | xpath=(コピーしたセレクタ文字列) |
id | id=(コピーしたセレクタ文字列) |