- 概要
- 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-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 Automation API を使用してブラウザー検索を実行し、結果を取得する
- Web の閲覧
- 画像を検索する
- 画像をクリックする
- イベントをトリガーおよび監視する
- ファイルを作成して上書きする
- HTML ページ: 情報を抽出して操作する
- ウィンドウの操作
- リスト項目の選択の自動化
- ウィンドウ要素を探して操作する
- テキスト操作の自動化を行う
- 画像を読み込んで処理する
- マウスでアクティブ化する操作を管理する
- アプリケーションランタイムの操作を自動化する
- ローカル アプリケーションの自動実行
- ブラウザーのナビゲーション
- Web オートメーション
- トリガー スコープの例
- DevExpress での UI Automation の有効化
- Computer Vision Local Server
- モバイル オートメーション
- ターミナル

UI Automation のアクティビティ
トラブルシューティング シナリオ
問題が発生した場合は、以下のトラブルシューティング シナリオを検討してください。
以下のトピックでは、モバイル デバイス オートメーションの問題と解決策について説明します。
説明: Studio のワークフローで予期しないエラーが発生し、インストール済みのアクティビティ パッケージのバージョンが表示されません。
原因: プロジェクト内で、UI.Automation アクティビティ パッケージのメジャー バージョンが Mobile.Automation アクティビティ パッケージのメジャー バージョンと一致していません。たとえば、インストールされている UI.Automation パッケージのメジャー バージョンが 22.10.x で、インストールされている Mobile.Automation パッケージのメジャー バージョンが 22.4.x である場合です。
解決策: プロジェクトにインストールされている UI.Automation アクティビティ パッケージと Mobile.Automation アクティビティ パッケージのメジャー バージョンが一致していることを確認します。たとえば、v22.10.x の UI.Automation.Activities は v22.10.x の Mobile.Automation.Activities とのみ組み合わせます。
条件: Appium 2.0 を使用している場合。
/wd/hub/session
のルートが見つかりません。
--base-path /wd/hub
を手動で追加します。
条件: Appium 2.0 を使用している場合。
説明: 非標準のすべての機能には、ベンダー プレフィックスを付ける必要があります。
appium:
を手動で追加します。
- コマンド プロンプトまたはターミナルで、「
--default-capabilities "{\"systemPort\": 8201}"
」ではなく、「--default-capabilities "{\"appium:systemPort\": 8201}"
」と入力します。 - モバイル デバイス マネージャーの [デバイスを追加] タブで、希望する追加機能の名前の前にプレフィックス
appium:
を手動で追加します。
条件: Appium 2.0 を使用している場合。
automationName
機能は空白にできません。
appium:
をプレフィックスとして追加します。たとえば、appium:automationName
です。
条件: Appium 2.0 を使用している場合。
説明: 指定した機能をサポートするためのインストール済みドライバーが見つかりませんでした。
Appium 2.0 では、必要なドライバーが自動的にはインストールされません。別途ダウンロードする必要があります。
解決策: お使いのプラットフォームに必要なドライバーをインストールします。
- Android デバイスの場合は、コマンド
appium driver install uiautomator2
を使用して、uiautomator2
ドライバーをインストールします。 - iOS デバイスの場合は、コマンド
appium driver install xcuitest
を使用して、xcuitest
ドライバーをインストールします。
以下のトピックでは、Android デバイスの問題と、対応する解決策について説明します。
InvalidArgumentException
のために失敗することがあります。
この問題は、Appium が Boolean 値を予期しているのに対し、ケーパビリティが String として入力されている場合に発生します。
内容を示すエラー メッセージには以下が含まれます。
Failed to create session.
A new session could not be created.
Details: io.appium.uiautomator2.common.exceptions.InvalidArgumentException:
Invalid '' setting value type.
Got java.lang.String. Expected: java.lang.Boolean
Failed to create session.
A new session could not be created.
Details: io.appium.uiautomator2.common.exceptions.InvalidArgumentException:
Invalid '<capability name>' setting value type.
Got java.lang.String. Expected: java.lang.Boolean
解決策: ローカル デバイスから次のアプリをアンインストールします。
io.appium.uiautomator2.server
io.appium.uiautomator2.server.test
WebDriverException
が発生することがあります。このエラーは通常、「Parameters were incorrect. We wanted {\"required\":[\"text\"]} and you sent [\"value\"]", "FaultCode":"WebDriverException"}
」と表示されます。
解決策: UiAutomator 2 の現在のバージョンをアンインストールします。その後、次のコマンドを指定の順序で使用して、新しいバージョンをインストールします。
appium driver uninstall uiautomator2
appium driver install uiautomator2@2.29.0
。2.29.0
はインストールするバージョンです。利用可能な任意のバージョンに置き換えることができます。
npm install -g appium
(Appium 1.x の場合)、または npm install -g appium@next
(Appium 2.0 の場合) の実行が失敗します。この問題は、コマンドをプロキシの背後で実行していることが原因で発生します。このエラーでは、次のメッセージが表示されます。
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly.
See: 'npm help config'
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly.
See: 'npm help config'
解決策: プロキシを使用するように npm (Node Package Manager) を設定します。以下の手順を実行します。
-
お使いのプロキシ サーバーのアドレスとポート番号を取得します。
- [インターネット オプション] に移動します。
- [接続] タブを開きます。
-
[LAN の設定] を選択し、[アドレス] および [ポート] フィールドの内容をコピーします。
-
Node.js のコマンド プロンプトに戻り、次の形式のコマンドを実行します。
- HTTP プロキシの場合:
npm config set http://your_proxy_address:your_port_number
- HTTPS プロキシの場合:
npm config set https://your_proxy_address:your_port_number
- HTTP プロキシの場合:
- コマンド
npm install -g appium
(Appium 1.x の場合)、またはnpm install -g appium@next
(Appium 2.0 の場合) を再度実行します。
説明: 指定した Web コンテキストにアクセスできませんでした。Android WebView がデバッグ可能であることを確認してください。Web コンテキストへのアクセスの詳細については、「Remote debugging WebViews」をご覧ください。
解決策:
- 認識されない Web コンテキストで、WebView をネイティブ セレクターとして使用します。
- セレクターが Web アプリケーションでは機能するもののアプリケーションでは機能しない場合、そのアプリケーションでは WebView のデバッグは有効化されません。この場合、「Get started with remote debugging Android WebViews」および「Remote debugging WebViews」をご覧ください。
説明: デバイスが認可されていません。
解決策: 次の手順を実行します。
- コマンド
adb devices
を使用して、存在するデバイスを確認します。 - スマートフォンでのデバッグを取り消します。
- コマンド
adb kill-server
、adb start-server
をこの順序で使用して、adb サーバーを再起動します。 - デバイスを再接続し、そのデバイスでの接続に同意します。
説明: Android デバイスが、指定したアプリではなくブラウザー オートメーションを起動するため、エラーが発生します。
解決策: 代わりに Web ブラウザーで開始します。
以下のトピックでは、iOS デバイスの問題と解決策について説明します。
説明: WebView 要素をクリックしてもセレクターが機能せず、要素を自動化できません。
解決策: シミュレーターを最新バージョンの iOS と Appium 2 で使用します。
説明: iOS 物理デバイスの起動に失敗します。
解決策: 次の手順を実行します。
- デバイスで証明書が信頼されていることを確認します。デバイス上で [設定] > [一般] > [プロファイルとデバイス管理] に移動し、メールのエントリ (例: Apple Development: username@email.com) をタップ後、証明書を信頼します。会社のアカウントを使用しているデバイスでは、この操作は不要です。
- ポート 8100 にアクセスできないというエラーが発生する場合は、Appium をいったん閉じて (
ctrl + c
) 再起動します。 - 別のエラーが発生する場合は、「Appium XCUITest Driver Real Device」を参照することをお勧めします。
説明: iOS 16.0 デバイスが起動または接続に失敗します。
解決策: Appium 1 ではなく Appium 2.0 をインストールして使用します。Appium 2.0 のインストールと管理の詳細については、「ローカル iOS デバイスの前提条件」をご覧ください。
- モバイル デバイス オートメーション
- ワークフローやアクティビティでエラーが発生する
- wd/hub/ session のルートが見つからない
- 非標準のすべての機能にベンダー プレフィックスが必要
- automationName を空白にできない
- インストールされているドライバーが見つからない
- Android
InvalidArgumentException
が原因でケーパビリティの接続が失敗するWebDriverException
が原因でアクティビティが失敗する- プロキシが原因で Appium のインストールが失敗する
- 指定した Web コンテキストにアクセスできない
- デバイスが認可されていない
- 起動画面からの開始時にブラウザー オートメーションが起動する
- Android アプリが起動しない
- iOS
- iOS 13 で WebView 要素をクリックできない
- iOS 物理デバイスの起動に失敗する
- iOS 16.0 デバイスの起動に失敗する
- iOS 12.4.5 の不具合