コマンド一覧

Nozomi Ito edited this page Sep 17, 2018 · 75 revisions

画面操作

コマンド名 内容
タップ 指定された要素をタップします。
  • 画面要素
ダブルタップ 指定された要素をすばやく2回タップします。
  • 画面要素
フリック 指定された要素を指で短く操作です(文字のフリック入力と同じ操作です)。
  • 画面要素
  • 移動方向: 画面中央からこの方向に向かって、フリックを行います。文字列「上方向」「下方向」「左方向」「右方向」のいずれかを受け取ります。
  • 移動量: 「移動方向」が「上方向」「下方向」の場合、画面の高さに対する割合を、「10%」のように指定します。「移動方向」が「左方向」「右方向」の場合は画面の幅に対する割合を指定します。
ドラッグ&ドロップ 指定された要素をドラッグして別の要素にドロップします。
  • 移動元画面要素: ドラッグされる要素です。
  • 移動先画面要素: ドロップ先の要素です。
ピンチアウト 指定された要素を2本指で縦方向に広げます。主に画像の拡大などに使われます。
  • 画面要素
  • 移動量: 画面の高さに対する割合で、「10%」のように指定します。この量は指の移動距離に相当し、要素がズームされる比率とは違うので注意してください。
スワイプ 指で掃くようにして画面全体を動かす操作です(画面のスクロールや切り替えと同じ操作です)。
  • 開始X座標: スワイプを開始するX座標(画面左上から右方向への座標)です。画面の幅に対する割合で、「10%」のように指定します。
  • 開始Y座標: スワイプを開始するY座標(画面左上から下方向への座標)です。画面の高さに対する割合で、「10%」のように指定します。
  • 移動方向: 移動方向を0から360の間の角度で指定します。上方向の場合は「0」、右方向の場合は「90」、下方向の場合は「180」、左方向の場合は「270」になります。
  • 移動量: 「移動方向」が上下の場合、画面の高さに対する割合を、「10%」のように指定します。「移動方向」が左右の場合、画面の幅に対する割合を指定します。
表示されるまでスワイプ 指定された要素が画面上に表示されるまで、スワイプを繰り返し行います。スクロール範囲外の要素を表示させたい場合などに活用できます。参考:スクロールが必要な画面の操作方法
  • 画面要素
  • 移動方向: 画面中央からこの方向に向かって、スワイプを繰り返します。「上方向」「下方向」「左方向」「右方向」のいずれかを受け取ります。上方向に画面をスワイプすると画面は下側にスクロールされるので、間違えないよう注意してください。
  • 最大回数: スワイプを実施する最大回数です。
長押し 指定された要素を長押しします。
  • 画面要素
指定位置タップ 指定された要素の特定の位置をタップします。
  • 画面要素
  • 位置: 要素内のどの位置をタップするかを指定します。「中央」「左端」「上端」「右端」「下端」「左上の角」「左下の角」「右上の角」「右下の角」が指定可能です。
システムボタンを押す 「ホーム」「戻る」などの、システムボタンを押す操作です。Androidの「ホーム」「戻る」等のボタンは、画面キャプチャ上に見えていても現状Magic Podでうまく押せないことが多いため、このコマンドを利用してください。
  • システムボタン種別: 押されるボタンの種類です。現在は「ホーム」(iOSとAndroid)、「戻る」「メニュー」「アプリ一覧」(Androidのみ)をサポートしています。
  • 「ピンチアウト」「ピンチイン」は、将来的には縦方向以外のピンチも対応予定です。
  • 「%」指定の引数については、将来的に数値直接指定もサポート予定です。

画面入力

コマンド名 内容
テキスト入力 指定された要素にテキストをセットします。現在のテキストがある場合は一度クリアします。
  • 画面要素
  • 文字列: セットされるテキスト
ピッカー値入力 ピッカーに値をセットします。Androidの場合は値のキー入力によって、iOSの場合はピッカーを少しずつスワイプすることによって、値がセットされます。
  • 文字列: セットされる値
  • 画面要素
  • スワイプ方向: iOSの場合に、スワイプを実施する方向です。「自動」は、数字項目の場合は数字の大小をもとに方向を決定、数字項目以外の場合は「上方向のあと下方向」と実質同じです。「上方向のあと下方向」「下方向のあと上方向」の場合、端までスワイプしたらスワイプの方向を切り替えます。「上方向」「下方向」の場合は、端まで1方向にスワイプします。ピッカーを上方向にスワイプするとピッカーの値は1つ下の値が選択されるので、間違えないように注意してください。
  • 最大回数: iOSのピッカーの場合に、スワイプを実施する最大回数です。
キー入力 「確定」「文字削除」などの、キーボード上の特殊キーを押す操作です。
  • キー種別: 押されるキーの種類です。現在は「確定」「削除」をサポートしています。

システム

コマンド名 内容
アプリを起動 テスト対象アプリのプロセスを起動します。すでにアプリが起動している場合は、プロセスをいったん終了して立ち上げ直します。テストの初回起動時に「アプリ情報のクリア」を指定している場合、このタイミングでもアプリ情報は再度クリアされます。
アプリを終了 現在のアプリのプロセスを終了します。終了したアプリは、「アプリを起動」のコマンドで再度起動できます。
アプリをバックグラウンド化 現在のアプリのプロセスをバックグラウンド状態にします。(プロセスは終了されません)
キーボードを非表示 キーボードが表示されていれば非表示にします。キーボードで他の要素が隠れ、キーボードを非表示にしないと先に進めないケースなどで使用できます。iOSの場合、「完了」「検索」「Go」などのキーボード右下のボタンをタップすることでキーボードを非表示にします(ただし「改行」のボタンや、キーボードの外にある「完了」ボタンなどはタップしません)。
画面を回転 アプリの画面の向きを回転します。
  • 向き: 画面の向きです。「縦向き」または「横向き」を指定します。
画面キャプチャを取得 現在の画面キャプチャを取得します。取得した画面キャプチャは、テスト結果画面で確認できます。
Web APIコール Web API(REST API)を呼び出します。参考:Web APIコール

アサート

コマンド名 内容
一致するかチェック 要素のテキストが、指定された文字列と一致するかチェックします。
  • 画面要素
  • 文字列: 期待されるテキストの値
一致しないことをチェック 要素のテキストが、指定された文字列と一致しないことをチェックします。
  • 画面要素
  • 文字列: 比較されるテキストの値
含むかチェック 要素のテキストが、指定された文字列を含むかチェックします。
  • 画面要素
  • 文字列: 期待されるテキストの値
含まないことをチェック 要素のテキストが、指定された文字列を含まないことをチェックします。
  • 画面要素
  • 文字列: 比較されるテキストの値
存在するかチェック 要素が画面上に存在することをチェックします。
  • 画面要素
存在しないことをチェック 要素が画面上に存在しないことをチェックします。
  • 画面要素
有効かチェック 要素が画面上に存在して有効(グレーアウトしていない)状態であることをチェックします。
  • 画面要素
無効かチェック 要素が画面上に存在して無効(グレーアウトしている)状態であることをチェックします。
  • 画面要素
選択されているかチェック チェックボックスやスイッチが選択状態であることをチェックします。
  • 画面要素
選択されていないことをチェック チェックボックスやスイッチが選択されていないことをチェックします。
  • 画面要素
表示されているかチェック 要素が画面上に存在して表示されていることをチェックします。iOSの場合、このコマンドは不安定なため、代わりに「存在するかチェック」を利用してください。
  • 画面要素
非表示かチェック 要素が非表示、もしくは画面上に存在しないことをチェックします。iOSの場合、このコマンドは不安定なため、代わりに「存在しないことをチェック」を利用してください。
  • 画面要素

待機

コマンド名 内容
一致するまで待つ 要素のテキストが、指定された文字列と一致するまで待機します。
  • 画面要素
  • 文字列: 期待されるテキストの値
  • 最大秒数: この秒数を超えても待機が完了しない場合はエラーになります。
一致しなくなるまで待つ 要素のテキストが、指定された文字列と一致しなくなるまで待機します。
  • 画面要素
  • 文字列: 比較されるテキストの値
  • 最大秒数: この秒数を超えても待機が完了しない場合はエラーになります。
含むまで待つ 要素のテキストが、指定された文字列を含むようになるまで待機します。
  • 画面要素
  • 文字列: 期待されるテキストの値
  • 最大秒数: この秒数を超えても待機が完了しない場合はエラーになります。
含まなくなるまで待つ 要素のテキストが、指定された文字列を含まなくなるまで待機します。
  • 画面要素
  • 文字列: 比較されるテキストの値
  • 最大秒数: この秒数を超えても待機が完了しない場合はエラーになります。
存在するまで待つ 要素が画面上に現れるまで待機します。
  • 画面要素
  • 最大秒数: この秒数を超えても待機が完了しない場合はエラーになります。
存在しなくなるまで待つ 要素が画面上に存在しなくなるまで待機します。
  • 画面要素
  • 最大秒数: この秒数を超えても待機が完了しない場合はエラーになります。
有効になるまで待つ 要素が有効(グレーアウトしていない状態)になるまで待機します。
  • 画面要素
  • 最大秒数: この秒数を超えても待機が完了しない場合はエラーになります。
無効になるまで待つ 要素が存在して無効(グレーアウトした状態)になるまで待機します。
  • 画面要素
  • 最大秒数: この秒数を超えても待機が完了しない場合はエラーになります。
選択されるまで待つ チェックボックスやスイッチが選択されるまで待機します。
  • 画面要素
  • 最大秒数: この秒数を超えても待機が完了しない場合はエラーになります。
選択されなくなるまで待つ チェックボックスやスイッチが選択されなくなるまで待機します。
  • 画面要素
  • 最大秒数: この秒数を超えても待機が完了しない場合はエラーになります。
表示されるまで待つ 要素が画面上に表示されるまで待機します。iOSの場合、このコマンドは不安定なため、代わりに「存在するまで待つ」を利用してください。
  • 画面要素
  • 最大秒数: この秒数を超えても待機が完了しない場合はエラーになります。
非表示になるまで待つ 要素が画面上で非表示になるか、画面上に存在しなくなるまで待機します。iOSの場合、このコマンドは不安定なため、代わりに「存在しなくなるまで待つ」を利用してください。
  • 画面要素
  • 最大秒数: この秒数を超えても待機が完了しない場合はエラーになります。
画面全体の描画が終わるまで待つ 画面全体の描画処理が完了するまで待機します。
  • 最大秒数: この秒数を超えても待機が完了しない場合はエラーになります。
  • 秒間待つ 指定された時間だけ待機します。このコマンドをテスト中で使用するとタイミング依存の問題を引き起こしやすくなるので、利用する場合は注意してください。
    • 待機時間: 待機時間を秒で指定します。小数点以下も指定可能です。

    変数

    コマンド名 内容
    値を保存 要素のテキストを変数に保存します。保存した変数の値は、${変数名}の形で以降のコマンドの引数から参照することができます。参考:変数
    • 画面要素
    • 変数名: 変数名。日本語も使用できます
    存在状態を保存 要素が存在するかを変数に保存します。保存した変数の値は、${変数名}の形で以降のコマンドの引数から参照することができます。参考:変数
    • 画面要素
    • 変数名: 変数名。日本語も使用できます
    有効状態を保存 要素の有効状態を変数に保存します。保存した変数の値は、${変数名}の形で以降のコマンドの引数から参照することができます。参考:変数
    • 画面要素
    • 変数名: 変数名。日本語も使用できます
    選択状態を保存 チェックボックスやスイッチの選択状態を変数に保存します。保存した変数の値は、${変数名}の形で以降のコマンドの引数から参照することができます。参考:変数
    • 画面要素
    • 変数名: 変数名。日本語も使用できます
    表示状態を保存 要素の表示状態を変数に保存します。保存した変数の値は、${変数名}の形で以降のコマンドの引数から参照することができます。iOSの場合、このコマンドは不安定なため、代わりに「存在状態を保存」を利用してください。参考:変数
    • 画面要素
    • 変数名: 変数名。日本語も使用できます
    現在時刻を元に生成したユニークな値を保存 現在時刻(秒)を元に生成したユニークな数字を変数に保存します。毎回新しいIDでユーザー名を登録したい、などの用途に活用できます。保存した変数の値は、${変数名}の形で以降のコマンドの引数から参照することができます。参考:変数
    • 変数名: 変数名。日本語も使用できます
    固定値を保存 固定の値を変数に保存します。保存した変数の値は、${変数名}の形で以降のコマンドの引数から参照することができます。参考:変数
    • 変数名: 変数名。日本語も使用できます
    • 文字列: 保存される値

    条件分岐

    コマンド名 内容
    一致する場合 要素のテキストが、指定された文字列と一致する場合に限り、「条件分岐終わり」コマンドとの間にはさまれた処理を実行します。参考:条件分岐
    • 画面要素
    • 文字列: 期待されるテキストの値
    一致しない場合 要素のテキストが、指定された文字列と一致しない場合に限り、「条件分岐終わり」コマンドとの間にはさまれた処理を実行します。参考:条件分岐
    • 画面要素
    • 文字列: 比較されるテキストの値
    含む場合 要素のテキストが、指定された文字列を含む場合に限り、「条件分岐終わり」コマンドとの間にはさまれた処理を実行します。参考:条件分岐
    • 画面要素
    • 文字列: 期待されるテキストの値
    含まない場合 要素のテキストが、指定された文字列を含まない場合に限り、「条件分岐終わり」コマンドとの間にはさまれた処理を実行します。参考:条件分岐
    • 画面要素
    • 文字列: 比較されるテキストの値
    存在する場合 要素が画面上に存在する場合に限り、「条件分岐終わり」コマンドとの間にはさまれた処理を実行します。参考:条件分岐
    • 画面要素
    存在しない場合 要素が画面上に存在しない場合に限り、「条件分岐終わり」コマンドとの間にはさまれた処理を実行します。参考:条件分岐
    • 画面要素
    有効な場合 要素が有効(グレーアウトしていない状態)な場合に限り、「条件分岐終わり」コマンドとの間にはさまれた処理を実行します。参考:条件分岐
    • 画面要素
    無効な場合 要素が存在して無効(グレーアウトした状態)な場合に限り、「条件分岐終わり」コマンドとの間にはさまれた処理を実行します。参考:条件分岐
    • 画面要素
    選択されている場合 チェックボックスやスイッチが選択されている場合に限り、「条件分岐終わり」コマンドとの間にはさまれた処理を実行します。参考:条件分岐
    • 画面要素
    選択されていない場合 チェックボックスやスイッチが選択されていない場合に限り、「条件分岐終わり」コマンドとの間にはさまれた処理を実行します。参考:条件分岐
    • 画面要素
    表示されている場合 要素が画面上に表示されている場合に限り、「条件分岐終わり」コマンドとの間にはさまれた処理を実行します。iOSの場合、このコマンドは不安定なため、代わりに「存在する場合」を利用してください。参考:条件分岐
    • 画面要素
    非表示の場合 要素が画面上で非表示か、画面上に存在しない場合に限り、「条件分岐終わり」コマンドとの間にはさまれた処理を実行します。iOSの場合、このコマンドは不安定なため、代わりに「存在しない場合」を利用してください。参考:条件分岐
    • 画面要素
    条件分岐終わり 各種条件分岐コマンドとペアで使用します。それぞれの条件分岐コマンドと「条件分岐終わり」コマンドにはさまれた処理が、条件一致時に実行あれる処理となります。参考:条件分岐

    未実装のコマンド

    コマンド名 内容
    ピンチイン 要検証
    シェイク 要検証。iOS実機以外は動く(https://github.com/appium/appium-xcuitest-driver#known-issues)
    ロック 対応中
    ロック解除 対応中
    描画が終わるまで待つ 要素の描画処理が完了するまで待機します。画面上に表示された後もしばらく描画処理が完了しない要素の場合、このコマンドで待機するのが有効です。
    • 画面要素
    You can’t perform that action at this time.
    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
    Press h to open a hovercard with more details.