一般的なトラブルシューティング
このセクションでは、この章の個別のセクションで説明されているテクノロジー以外についての、オブジェクト認識が制限される原因とその解決方法について説明します。
.NET WinForms
WinForms でオブジェクト認識が制限される原因はいくつか考えられます。
十分な権限がない
解決方法: すべての Ranorex ツールとテスト対象アプリを、同じ権限 (可能であれば管理者権限) で再起動してください。
十分なセキュリティ権限がない
テスト実行ファイルを、ネットワーク ドライブや暗号化フォルダーから起動している可能性があります。
解決方法: テスト実行ファイルとテスト対象アプリを、テストを実行するマシンのデスクトップ上のフォルダーにコピーしてください。
混在モードの実行ファイル/難読化されたコントロール
識別できないコントロールが、混合モードの EXE ファイル (DLL ではない) に実装されています。混合モードの EXE ファイルを作成する、いくつかの難読化アプリケーションやアセンブリ マージ ユーティリティを使用している可能性があります。.NET Framework は、他のプロセスにおける、このような混合モードの EXE ファイルのロードをサポートしていないため、Ranorex はそれらのコントロールを認識できません。
解決方法: 回避策として、難読化されていないバージョンのテスト対象アプリを使用してみてください。
テスト対象アプリとテスト実行ファイルのプラットフォーム/プロセッサーが異なる
識別できないコントロールが、特定のプラットフォーム/プロセッサーをターゲットとするアセンブリに実装されているのに対して、EXE ファイルが、別のプラットフォーム/プロセッサーをターゲットとして作成されています。テスト実行ファイルでは、そのようなアセンブリをロードできないため、結果として、64bit OS で問題が発生する可能性があります。
解決方法: プロジェクト設定で、テスト対象アプリケーションのターゲットに一致するように、ターゲット CPU (Ranorex Studio) または プラットフォーム ターゲット (Visual Studio) オプションを変更してみてください。詳しくは、⇢ 64bit プラットフォーム を参照してください。テスト対象アプリのターゲット CPU/プラットフォームがわからない場合は、まず、オプションをそれぞれ Any processor または Any CPU に変更してみてください。それから、残りのオプションを試してください。
.NET WPF
WPF でオブジェクト認識が制限される原因はいくつか考えられます。
WPF 要素の代わりに UIAutomation 要素が選択されている
ユーザーが Spy の要素ツリーで WPF アプリの要素を選択する際に、UIAutomation ツリーの方を選択しています。
解決方法: 選択したウィンドウの前にある兄弟は、同じウィンドウを識別しますが、”UIAutomation” ではなく “WpfElement” として認識されています。Spy で要素を参照する際に、”WpfElement” ウィンドウ配下にある要素を選択してください。
十分な権限がない
解決方法: すべての Ranorex ツールとテスト対象アプリを、同じ権限 (可能であれば管理者権限) で再起動してください。
レガシーな UIA plugin が有効化されている
レガシーな UIA plugin を使用していると、WPF 要素のオブジェクト認識が制限されます。
解決方法: Ranorex Studio で 設定 > Plugins > WPF > WPF Legacy/UIA interaction > WpfImprovedOnly を選択し、ネイティブの WPF plugin に切り替えてください。
Java
十分な権限がない
解決方法: すべての Ranorex ツールとテスト対象アプリを、同じ権限 (可能であれば管理者権限) で再起動してください。
Delphi
リモート オブジェクト ポインターが取得できない
Ranorex ツール、またはテスト実行ファイルは、特定のアイテムまたはクラス名のリモート オブジェクト ポインターを取得できませんでした。
解決方法: ⇢ サポートしている Delphi のバージョン を使用していることを確認してください。
Win32 ベースのアプリケーション
Win32 ベースのアプリでオブジェクト認識が制限される原因はいくつか考えられます
十分な権限がない
解決方法: すべての Ranorex ツールとテスト対象アプリを、同じ権限 (可能であれば管理者権限) で再起動してください。
Bit bridge が起動されていない
Ranorex ツールまたはテスト実行ファイルと、自動化対象のプロセスが、同じアーキテクチャ (32bit/64bit) で起動されておらず、また、32/64 Bit Bridge が起動できません。
解決方法: Ranorex サポートに問い合わせてください。
Bit bridge が無効化されている
Ranorex ツールまたはテスト実行ファイルと、自動化対象のプロセスが、同じアーキテクチャ (32bit/64bit) で起動されておらず、また、32/64 Bit Bridgeが無効化されています。
解決方法: Ranorex Studio の 設定 > Advanced > Enable 32/64 Bit Bridge から、32/64 Bit Bridge を有効にしてください。
メモ
Internet Explorer で以下を設定する必要があります。
- “拡張保護モード” を無効にしてください。
- Windows Server の場合、”Internet Explorer セキュリティ強化の構成” を無効にしてください。
位置に関する問題
オートメーション中に、コントロールが移動したり、空になったり、スクロール アウトすることがあります。
解決方法: 該当のリポジトリ アイテム (およびその親フォルダー) の Use Ensure Visible プロパティを False に設定してください。詳しくは、⇢ リポジトリ アイテムの管理 を参照してください。
Windows 8 UI アプリ
Windows 8 UI ベースのアプリでオブジェクト認識が制限される原因はいくつか考えられます。
“Use UiaLauncher” オプションが無効化されている
ツールで開始されたプロセスの権限昇格のため UiaLauncer を使用する オプションが無効化されています。
解決方法: Ranorex Studio の 設定 > 詳細 から、このオプションを有効にしてください。
Ranorex Studio がセキュアな場所にインストールされていない
Ranorex Studio がセキュアな場所にインストールされていません。
解決方法: Ranorex Studio を、Program Files または Program Files (x86) にインストールしてください。
テスト実行ファイルが Ranorex ツールから起動されない
テスト実行ファイルが Ranorex ツールから起動されません。
解決方法 #1: Ranorex Test Suite Runner からテスト スイートを起動してください。
解決方法 #2: Ranorex UiaLauncer (binRanorex.UiaLauncher32.exe) の最初の引数にテスト実行ファイル名を指定して、テスト実行ファイルを起動してください。(例: Ranorex.UiaLauncher32.exebindebugMyTest.exe)
解決方法 #3: テスト プロジェクトの Program.cs/Program.vb ファイルに以下のコードを追加してください。
if (Util.IsRestartRequiredForWinAppAccess)
return Util.RestartWithUiAccess();
If Util.IsRestartRequiredForWinAppAccess Then Return Util.RestartWithUiAccess()
“管理者としてこのプログラムを実行する” が有効化されている
Ranorex ツールの EXE ファイル (例: RanorexStudio.exe) の互換性設定で、”管理者としてこのプログラムを実行する” が有効化されています。この設定により、Windows 8 UI アプリへアクセスできなくなります。
解決方法:
Ranorex ツールの EXE ファイルへの上記の設定は無効にしてください。ツールを管理者権限で実行したい場合には、EXE ファイルのショートカットを作成し、ショートカット プロパティの ショートカット > 詳細設定 から、管理者として実行 オプションを有効にしてください。
モバイル
モバイル アプリでオブジェクト認識が制限される原因はいくつか考えられます。
Ranorex Service App が起動されていない
モバイル デバイスで、Ranorex Service App が起動されていません。これにより、アプリの起動/終了といった自動化の機能が制限されます
解決方法: デバイスが正しく設定されていることを確認してください。詳しくは、⇢ デバイスの準備 を参照してください。
iTunes が起動されていない
iTunes を検出できません。USB 経由での iOS デバイスの認識に必要です。
解決方法: iTunes がインストールおよび起動されていることを確認してください。詳しくは、⇢ デバイスの準備 を参照してください。
エミュレーター上でレコーディングしようとしている
エミュレーター上でモバイル テストをレコーディングしようとしています。この場合、オブジェクト認識が制限され、Ranorex Studio はイメージベースでのレコーディングをおこないます。つまり、UI 要素は座標ベースで認識されることになり、UI の変更やエミュレーターのウィンドウ サイズの影響を受けやすい、変更に弱いテストになります。
解決方法: エミュレーターは、実際のモバイル デバイスと同じように扱ってください。エンドポイントとして追加し、⇢ モバイル テストの作成 で説明されている手順に従ってテストを作成してください。
その他
アンチウィルス/セキュリティ ソフト
アンチウィルス ソフト、セキュリティ ソフトが、オブジェクト認識に影響を与える場合があります。
解決方法: アンチウィルス/セキュリティ ソフトの例外リストに Ranorex のプロセスを登録するか、または、これらのソフトを一時的に無効にしてください。
RanoreXPath が複数の UI 要素を識別する
特定の RanoreXPath が、複数の UI 要素にマッチする場合があります。同じプロセスの複数のインスタンスが起動されている可能性があります。
解決方法: テスト中に起動しているインスタンスが一つだけの場合には、この警告を無視してください。それ以外の場合には、プロセスの複数のインスタンスが実行されていても、識別される UI 要素がユニークとなるように、RanoreXPath を編集してください。
DPI スケーリングが異なる
マルチディスプレイ環境で Ranorex Studio を使用する場合、DPI スケーリングの設定が異なると、オブジェクト認識に影響を与える場合があります。
解決方法: すべてのディスプレイの DPI スケーリングを、100% に設定してください。
EnsureVisible アクションが失敗する
この警告は、Ranorex Studio が EnsureVisible オペレーターを持つアクションを実行しようとした場合、つまり、対象の UI 要素を可視にする必要があるが、そのUI要素を含むウィンドウをフォアグランドにできなかった場合に発生します。これは通常、権限が不足していることで発生します。
解決方法: Ranorex Studio を管理者権限で再起動するか、または、Ranorex.UiaLauncher を使用してテスト対象アプリを起動します。
テスト対象アプリを Ranorex Studio から起動している場合、例えば、Run application アクションで起動している場合には、設定 > 詳細 > ツールで開始されたプロセスの権限昇格のために UiaLauncher を使用する を有効にしてください。
テスト対象アプリを個別に起動している場合には、Ranorex Studio のインストールフォルダー (通常、C:Program Files (x86)RanorexStudioBin) にある Ranorex.UiaLauncher32.exe をコマンドラインから起動してください。
UiaLauncher を使用してテスト対象アプリを起動するには、以下のコマンドを使用します。
Ranorex.UiaLauncher32.exe <path to application>