CEF アプリケーション
Ranorex Studio は、以下の CEF ベースのアプリケーションのテストをサポートしています。
- Chromium Embedded Framework (CEF)
- CefSharp
- Electron
- NW.Js
- Qt WebEngine
- JxBrowser
CEF のテストをおこなうには、テスト対象アプリのリモート デバッグ ポートを有効にする必要があります。このセクションではその設定方法について説明します。
リモート デバッグ ポートの有効化
Ranorex で CEF アプリケーションのテストを開始するには、テスト対象アプリケーションで リモート デバッグ ポート を有効化する必要があります。
ほとんどの CEF フレームワークでは、テスト対象アプリの起動時のコマンド (例: レコーディング モジュールの Run application アクション) に、以下の引数を指定します。
MyApplicationUnderTest.exe –remote-debugging-port=8081
注意
テスト対象アプリを動作させるマシンの他のアプリケーションやサービスで、このコマンドで指定するポート番号が使用されていないことを確認してください。
いくつかの CEF フレームワークでは、別の方法で設定します。
CefSharp
テスト対象アプリケーションが CefSharp をベースとしている場合、このコマンドライン引数は機能しません。テスト対象アプリケーションのソース コードで、リモート デバッグ ポートを有効化してください。
CefSharp でリモート デバッグ ポートを設定するには、コントロールを初期化する前に CefSettings クラスを利用してリモート デバッグ ポートを指定する必要があります。
var settings = new CefSettings(); settings.RemoteDebuggingPort = 8081; Cef.Initialize(settings);
JxBrowser
テスト対象アプリケーションが JxBrowser をベースとしている場合、このコマンドライン引数は機能しません。テスト対象アプリケーションのソース コードで、BrowserPreferences.setChromiumSwitches(String…) メソッドをコールして、リモート デバッグ ポートを有効化してください。
詳しくは、JxBrowser documentation を参照してください。
トラブルシューティング
CEF アプリケーションをテストする場合、Technology Limitation 警告が表示されることがあります。これらの警告の潜在的な原因とその解決方法について説明します。
別のアプリケーションがリモート デバッグ ポートをすでに使用している
他のアプリケーション (例: Chrome DevTools) がリモート デバッグ ポートをブロックしているため、テスト対象アプリの UI 要素を識別できません。ポートをブロックしているアプリを終了し、テスト対象アプリを再起動してください。
解決方法:
Ranorex Studio は通常、ポートをブロックしているアプリを自動で終了しようと試みます。Chrome Developer Tools など、場合によっては正常に終了できないこともあります。このような場合には、指定したリモート デバッグ ポートでテスト対象アプリに接続している可能性があるすべてのアプリケーションを終了してください。
上記でも動作しない場合には、テスト対象アプリのリモート デバッグ ポートを変更してみてください。
リモート デバッグを利用できない
テスト対象アプリのリモート デバッグ ポートが有効化されていない、あるいは見つからないため、UI 要素を識別できません。
解決方法:
リモート デバッグ ポートが正しく設定されていること、他のアプリがポートを使用していないことを確認してください。リモート デバッグ ポートを 8081 以外に設定している場合、8081 に戻してみてください。