- 概要
- UI Automation
- UI Automation アクティビティ パッケージについて
- UI Automation を使用して自動化されるアプリケーションと技術
- プロジェクトの対応 OS
- UI-ANA-016 - [ブラウザーを開く] に使用されている URL を検出
- UI-ANA-017 - [エラー発生時に実行を継続] の値が True
- UI-ANA-018 - OCR/画像関連のアクティビティのリスト
- UI-DBP-006 - コンテナーの使用
- UI-DBP-013 - Excel の自動化方法の誤用
- UI-DBP-030 - セレクター内での変数の使用禁止
- UI-DBP-031 - アクティビティの検証
- UI-PRR-001 - クリックをシミュレート
- UI-PRR-002 - 入力をシミュレート
- UI-PRR-003 - [アプリケーションを開く] の誤用
- UI-PRR-004 - ハードコードされた待機時間
- UI-REL-001 - セレクター内の大きいインデックス値
- UI-SEC-004 - メール アドレスのデータを含むセレクター
- UI-SEC-010 - アプリ/URL の制限
- UI-USG-011 - 許可されていない属性
- UX-SEC-010 - アプリ/URL の制限
- UX-DBP-029 - セキュリティで保護されていないパスワードの使用
- UI-PST-001 - [プロジェクト設定] の監査ログ レベル
- UiPath ブラウザー移行ツール
- クリッピング領域
- Computer Vision レコーダー
- アクティビティの索引
- アクティベート
- アンカー ベース
- ブラウザーにアタッチ
- ウィンドウにアタッチ
- ユーザー入力をブロック
- 吹き出し
- チェック
- クリック
- 画像をクリック
- 画像クリック トリガー
- OCR で検出したテキストをクリック
- テキストをクリック
- クリック トリガー
- アプリケーションを閉じる
- タブを閉じる
- ウィンドウを閉じる
- コンテキスト対応のアンカー
- 選択されたテキストをコピー
- 要素属性変更トリガー
- 要素の存在を確認
- 要素スコープ
- 要素ステート変更トリガー
- UI ツリーをエクスポート
- 構造化データを抽出
- 子要素を探す
- 要素を探す
- 画像を探す
- 一致する画像を探す
- OCR でテキスト位置を探す
- 相対要素を探す
- テキスト位置を探す
- アクティブ ウィンドウを取得
- 親要素を取得
- 属性を取得
- イベント情報を取得
- クリップボードから取得
- フル テキストを取得
- OCR でテキストを取得
- パスワードを取得
- 位置を取得
- ソース要素を取得
- テキストを取得
- 表示中のテキストを取得
- 前に戻る
- 次に進む
- ホームに移動
- Google Cloud Vision OCR
- ウィンドウを隠す
- 強調表示
- ホットキー トリガー
- ホバー
- 画像上でホバー
- OCR で検出したテキスト上でホバー
- テキスト上でホバー
- 画像の存在を確認
- 画面上で指定
- .NET コードを挿入
- JS スクリプトを挿入
- ActiveX メソッドを呼び出し
- キー操作トリガー
- 画像を読み込み
- ウィンドウを最大化
- Microsoft Azure ComputerVision OCR
- Microsoft OCR
- Microsoft Project Oxford Online OCR
- ウィンドウを最小化
- イベントを監視
- マウス トリガー
- ウィンドウを移動
- URL に移動
- OCR でテキストの存在を確認
- 要素が出現したとき
- 要素が消滅したとき
- 画像が出現したとき
- 画像が消滅したとき
- アプリケーションを開く
- ブラウザーを開く
- ブラウザーを更新
- ユーザー イベントを再生
- ウィンドウを復元
- 画像を保存
- 項目を選択
- 複数の項目を選択
- ホットキーを押下
- クリッピング領域を設定
- フォーカスを設定
- テキストを設定
- クリップボードに設定
- Web 属性を設定
- ウィンドウを表示
- プロセスを開始
- システム トリガー
- スクリーンショットを作成
- Tesseract OCR
- テキストの存在を確認
- ツールチップ
- 文字を入力
- SecureString で文字を入力
- フォアグラウンドを使用
- 属性を待つ
- 要素の消滅を待つ
- 画像の消滅を待つ
- アクセシビリティ チェック
- アプリケーション イベント トリガー
- ユーザー入力をブロック
- チェック/チェック解除
- アプリのステートを確認
- 要素を確認
- クリック
- クリック イベント トリガー
- ドラッグ アンド ドロップ
- 表データを抽出
- 要素を探す
- 繰り返し (各 UI 要素)
- ブラウザーのデータを取得
- クリップボードを取得
- テキストを取得
- URL を取得
- URL に移動
- 強調表示
- ホバー
- JS スクリプトを挿入
- キーボード ショートカット
- キー押下イベント トリガー
- マウス スクロール
- ブラウザー内を移動
- 画像を保存
- 項目を選択
- ブラウザーのデータを設定
- クリップボードに設定
- Set CV Server
- ランタイム ブラウザーを設定
- フォーカスを設定
- Set Project Setting
- テキストを設定
- スクリーンショットを作成
- 文字を入力
- ユーザー入力のブロックを解除
- ウィンドウ操作
- UI Automation API を使用してブラウザー検索を実行し、結果を取得する
- Web の閲覧
- 画像を検索する
- 画像をクリックする
- イベントをトリガーおよび監視する
- ファイルを作成して上書きする
- HTML ページ: 情報を抽出して操作する
- ウィンドウの操作
- リスト項目の選択の自動化
- ウィンドウ要素を探して操作する
- テキスト操作の自動化を行う
- 画像を読み込んで処理する
- マウスでアクティブ化する操作を管理する
- アプリケーションランタイムの操作を自動化する
- ローカル アプリケーションの自動実行
- ブラウザーのナビゲーション
- Web オートメーション
- トリガー スコープの例
- DevExpress での UI Automation の有効化
- Computer Vision Local Server
- モバイル オートメーション
- ターミナル
UI Automation アクティビティ
ローカル iOS デバイスを設定する
ローカル デバイスをモバイル オートメーション アクティビティで動作するように設定するには、Appium のローカル インスタンスを実行し、iOS デバイスの操作の自動化に必要なツールを用意する必要があります。
自動化できるローカル iOS デバイスには、次の 2 種類があります。
- 物理 - USB ケーブルでローカル マシンに接続できる iOS 物理デバイスです。
- エミュレーター - ローカルに保存される iOS デバイス用のエミュレーターです。
使用頻度の高い Appium コマンド
以下のリストは、モバイル デバイス オートメーションのコンテキストで Appium を設定する場合に最もよく使用されるコマンドです (Appium 2.0 に推奨)。
xcrun simctl list- 利用可能なデバイス、デバイスの種類、ランタイム、デバイスのペアのリストを表示します。xcrun simctl list devices- 使用可能なデバイスのリストを表示します。xcrun simctl list devicetypes- デバイスの種類のリストを表示します。xcrun simctl list runtimes- ランタイムのリストを表示します。xcrun simctl list runtimes- デバイスのペアのリストを表示します。
アプリケーション ストレージ
モバイル アプリを Appium サーバーが動作中のマシンに保存するか、IPA ファイルを、Appium サーバーが匿名でアクセスできる URL (例: Blob ストレージ) にアップロードする必要があります。
Google Play ストアまたは Apple App Store からアプリケーションをインストールすることはできません。ただし、これらのアプリケーションを手動で自動化して、独自のアプリケーションをインストールする場合は別です。
アプリのアーティファクトが拡張子 APP を使用していて、そのアプリをパブリック URL にアップロードする場合、Payload という名前のフォルダーを作成し、そこに拡張子 APP 付きのアプリを配置してから Payload フォルダーをアーカイブし、その拡張子を ZIP ではなく IPA に変更する必要があります。 さらに、自動化しようとしているアプリケーションが、ターゲット アーキテクチャ (シミュレーターまたは物理デバイス) 用にコンパイルされていることも確認してください。
iOS 物理デバイスを設定する
前提条件
-
Xcode をインストールします。
-
ターミナルを開き、次のコマンドを実行して Homebrew をインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"-
次のコマンドを実行して、Homebrew を
PATH環境変数に追加します。echo >> /Users/<username>/.zprofile echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/<username>/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"echo >> /Users/<username>/.zprofile echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/<username>/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"
-
-
次のコマンドを実行して Node.js をインストールします。
brew install node 4. Appium をインストールします。
- Appium 1.0 の場合は、コマンド
npm install -g appiumを実行します。これにより、必要なドライバーがすべて自動的にインストールされます。 - Appium 2.0 の場合は、コマンド
npm install -g appium@nextを実行します。
Appium 2.0 には既定ではドライバーがインストールされていません。したがって、必要なドライバーをインストールするために、コマンド appium driver install xcuitest も実行する必要があります。
- v22.10 以降の モバイル オートメーション アクティビティ パッケージには Appium 2.0 を使用することをお勧めします。
- iOS 物理デバイスでモバイル オートメーションをテストする場合は、Appium 2.0 をインストールしてください。1. Xcode を開き、必要な追加コンポーネントをインストールできるようにします。スプラッシュ画面が表示されたら閉じます。2.
appium --port 8001 --default-capabilities "{\"appium:systemPort\":9001}" --relaxed-securityコマンドを使用して Appium サーバーを起動します。
ローカルの物理 iOS デバイスを設定する
-
物理デバイスを Mac に接続します。
-
警告のポップアップが表示されたらデバイスのロックを解除して、コンピューターが確実にデバイスにアクセスできるようにします。
-
Appium URL を取得し、後で使用するために保存します。
- [システム設定] に移動して [ネットワーク] タブを開き、物理デバイスが接続されている Wi-Fi ネットワークを選択します。
- デバイスが接続されている Wi-Fi ネットワークの IP アドレス をコピーします。Appium URL の形式は
http://<ipaddress>:8001です (8001は Appium を開始するポート番号です)。
-
XCode から、お使いのマシンに接続した物理 iOS デバイスの UDID を取得します。
- [Window] > [Devices and Simulators] > [Devices] に移動します。
- 接続した iOS デバイスをクリックします。
- Identifier をコピーします。これがデバイスの UDID です。後ほど MDM にこの iOS 物理デバイスを追加するときに、希望する追加機能として追加します。
-
お使いの Mac の XCode で WebDriverAgent を構築します。
- パス
/Users/<username>/appium2/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragentを使用してappium-webdriveragentフォルダーに移動し、xcodeprojファイルを開きます。 - [WebDriverAgent] を選択し、[Targets] セクションの [WebDriverAgentRunner] を開きます。
- [Signing & Capabilities] タブに切り替えて [Automatically manage signing] を選択し、[Team] ドロップダウンからユーザー アカウントを選択します。
- [Bundle Identifier] を一意の値に変更します。
- このバンドル識別子をコピーして保存します。これを使用して、MDM 内にアプリケーションを追加します (バンドル ID)。
- パス
-
お使いの iOS 物理デバイスに WebDriverAgent をインストールします。
- WebDriverAgent のナビゲーション バーで [WebDriverAgentRunner] を選択します。
- XCode で [Product] に移動し、[Test] をクリックします。接続済みの iOS 物理デバイスで、WebDriverAgent がインストールされるのを確認できます。
-
「モバイル デバイス マネージャーに iOS デバイスを追加する」の手順を使用して、設定したローカルの物理 iOS デバイスをモバイル デバイス マネージャーに追加します。
モバイル デバイス マネージャーにローカル iOS デバイスを追加する
-
Studio からモバイル デバイス マネージャーを開きます。
-
左側のナビゲーション パネルの [デバイス] に移動します。
-
デバイスを次のように設定します。
-
名前 - [デバイス] タブでデバイスを識別するための名前を入力します。
-
Appium URL - 前述の手順でコピーした Appium URL を
http://<ipaddress>:8001という形式で入力します。 -
プラットフォーム - フィールドをクリックして、ドロップダウンから [iOS] を選択します。
-
デバイス名 - デバイスの名前を入力します。
-
希望する追加機能 - 次の機能を追加します。
名前 値 (Value) automationNamexcuitest(Appium iOS ドライバーをアクティブ化する機能)udidthe Identifier of the connected physical iOS device
-
-
(任意) [ログ] タブでログ記録とビデオ記録の詳細を設定します。
-
(任意) [開発] タブで開発プロセスを設定します。
- 類似タブを閉じる (既定で有効): 類似のデバイスやアプリケーションとの接続を実行しているタブを閉じます。
- ページの更新を待機 (既定で有効): ページのソースが各アクションのスクリーンショットを取得するまで待機します。
-
[保存して閉じる] をクリックしてデバイスを追加します。
デバイスが [デバイス ] リストに追加されます。ローカル デバイスを追加するには、「」をご覧ください。デバイスを起動できない場合は、「 トラブルシューティング:物理デバイスの起動に失敗する」を参照してください。
iOS でのハイブリッドおよび Web の自動化
運用環境向けのアプリ構築の自動化を目的としていない場合、ハイブリッド自動化は既定で iOS デバイスで機能します。運用環境のアプリを自動化する場合、WKWebView でホストするコンテンツは自動化できませんが、SFSafariViewController でホストする Web コンテンツであれば、運用環境のアプリでも自動化できます。詳細については、「SFSafariViewController」をご覧ください。