Windows(デスクトップ)アプリケーション
- Ranorex Studioにて、対象のソリューションを開きます。
- メニューバーの 設定(=)ボタンを開き、プラグイン タブを開きます。
- Win32 > Read UI Automation attributes を True に変更します。
- 設定内容を保存します。
- 再度テストを実行します。
いくつかの理由が考えられますが、主な理由として、以下が考えられます。
- 対象ソフトウェアのDLL/Exeファイルにセキュリティブロックが設定されている。
- Ranroexが管理者権限で起動されていない。
- ユーザーガイド:一般的なトラブルシューティング
Excelのセルはオブジェクトとして認識できますが、SetValueアクションを使用することはできません。
代わりに、KeySequenceアクションを使用してください。
KeySequenceアクションの”Sequence”項目の入力フォームに値を設定することで、Excelのセルに値を入力することができます。
※ただし、半角カナ文字の入力には対応していません。
国内リリース版では、以下のバージョンに対応しています。
- Qt Widgets: Qt 4.5.3 以降
- Qt Quick : Qt 5.0.2 以降
- Qt WebKi t: Qt 4.6.4 以降
詳細については、Ranorexユーザガイド「Qt」をご参照ください。
可能となりますが、Windowsエクスプローラーでは動作が安定しませんので、”Ensure Visible”の代わりに、”Mouse Wheel”などで可視化することを推奨しています。
Webアプリケーション
はい、可能です。
“Open Browser”アクションの”Browser”列で、ブラウザー名を変更することで、テストを行うブラウザーを変更できます。
また、以下のように、ブラウザー名を変数化することで、ExcelやCSVのデータソースで、対象のブラウザーを指定することもできます。
- レコーディングモジュールにて、”Open Browser”アクションの”Browser”列のブラウザー名を変数化します。
- 変数化したブラウザー名にデータソース機能を使用します(データソースのデータには、Webブラウザー名を指定します)。
ドロップダウンリストは、使用するWebブラウザーやテスト対象のWebアプリケーションによって実装が異なるため、Ranorexがオブジェクトとして認識できるかどうかが大きく異なります。
“Select”要素を使用したドロップダウンリストでは、通常、テストのレコーディング時に”Set Value”アクションとして記録されます。
この場合、”Set Value”アクションの「Name」項目に”TagValue”を指定し、「Value」項目にリスト名を指定することで対応できます。
Automation Helper v1.6.0で追加された”ReportFullPageScreenshot()”メソッドを使用することで可能です。
ユーザーコードアクションでこのメソッドを実装していただき、対象のWebページのDOM要素のオブジェクトを設定することで、スクロールキャプチャできます。
詳細につきましては、Ranorexのユーザーガイド(オートメーションヘルパー)をご参照ください。
Chromiumブラウザは、公式でサポートされておりません。
しかしながら、Chromeブラウザは、Chromiumブラウザをベースとして開発されおりますので、Chromeブラウザのプラグインを使用することで動作自体は可能となります。
Ranorexにて、Webのプラグイン設定を以下の手順で変更してください。
- Ranorex Studioを起動します。
- ツールバーから、”設定”をクリックし、”プラグイン”タブを開きます。
- “Web”項目の”EnableJS-based RanoreXPath evaluation”を”False”に変更します。
※”EnableJS-based RanoreXPath evaluation”は、Ranorex v9.1から追加された機能となり、Webアプリケーションに対する、パフォーマンス向上のための機能となります。
可能です。
オフライン環境でChrome/Edge Chromiumのアドオンをインストールされたい場合は、Ranorex ユーザーページの資料をご確認ください。
また、オフライン環境でFirefoxのアドオンをインストールされたい場合は、以下の手順で実施ください。
[手順]
1.Firefoxにて、以下の拡張機能管理のページを開きます。
Firefoxのメニューバーの右上にある三本線アイコンをクリックし、メニューから[ アドオンとテーマ ]→[ 拡張機能 ]をクリックします。
2.以下のパスに存在するxpiファイルを手順1で開いたページにドラッグ&ドロップします。
C:\Program Files (x86)\Ranorex\Studio\Ranorex Firefox Extension
3.「Ranorex Automation を追加しますか?」のポップアップで「追加」ボタンをクリックします。
はい、可能です。
ブラウザ上に表示されるファイル選択のボタンの見た目はブラウザごとに異なりますが、ブラウザ依存しない共通の属性値を使用して、オブジェクト認識することで、クロスブラウザテストにご対応いただけます。(属性例:name=’image’)
また、Ranorexは、エクスプローラのオブジェクトを認識できますので、ファイル選択の操作をテストシナリオに組み込むことができます。
フルスクリーンキャプチャのAPI(CaptureFullPageScreenshot)に、要素を固定にするパラメータ(WebDocument.CapturePageFlags.HidePositionFixed)を指定することで対応可能です。
コード例:
public void Report_Screenshot(RepoItemInfo webdocumentInfo)
{
var screenshot = webdocumentInfo.FindAdapter().CaptureFullPageScreenshot(WebDocument.CapturePageFlags.HidePositionFixed);
Report.LogData(ReportLevel.Info, “SCREEN SHOT”, (Bitmap)screenshot);
}
※オートメーションヘルパーのReportFullPageScreenshotメソッドを使用している場合は、レコーディングモジュールにメソッドを追加した後、該当アクション(User code)をダブルクリックし、表示されるソースコードにて、CaptureFullPageScreenshotメソッド(118行目あたり)に上記パラメーター(WebDocument.CapturePageFlags.HidePositionFixed)を追加してください。
制限事項:
・この対応策は、”position: fixed”のみに対応します。その他の方法で実装されているアプリケーションにおいては効果がありません。
・キャプチャした画像の最上位の位置にフッターの要素が固定されます。(最初に画面に表示された位置に固定)
・キャプチャ時に横スクロールがあり、かつヘッダー/フッターやオーバーレイの要素の横幅が固定値ではない場合、ヘッダー/フッターやオーバーレイの要素の画像は、
横スクロールで表示されていない部分に表示されずにキャプチャされます。(要素の画像が元のブラウザサイズに合わせて縮小されたままキャプチャされます)
キャプチャする際は、ブラウザを最大化し、横スクロールしないようにしてください。
制限事項により、上記方法が利用できない場合、
対象のヘッダー/フッター部を非表示にすることで対応する方法があります。
対応方法:
①Ranorex StudioでCaptureFullPageScreenshotメソッドを追加したレコーディングモジュールを開きます。
②リポジトリにヘッダー/フッター部のオブジェクトを記録します。
③CaptureFullPageScreenshotメソッドが追加されているUser codeアクションの前に、
以下のSetValueアクションを追加します(参考:)。
以下のようなアクション構成となります。
Action Name Value Repository item
SetValue Hidden True ヘッダー/フッター部のオブジェクト
※スクリーンショット取得後、アプリケーション画面にてヘッダーが非表示になるため、スクリーンショット後にヘッダーに対して何かしら操作を実施したい場合は、ページを再読み込みする操作をレコーディングモジュールに追加してください。
IEサポート終了後でも、Edge IEモード対応のアプリケーションをテストすることができます。
ポップアップ画面のオブジェクトもRanorexで認識できるため、テスト可能です。
なお、予期せぬタイミングで表示されるダイアログ処理につきましては、オートメーションヘルパーの「PopupWatcherLibrary」を使用することで対応いただけます。
詳細については、以下のユーザーガイドをご参照ください。
・オートメーションヘルパーの追加
・PopupWatcherLibrary
Chrome / Edge Chromium / Firefox ブラウザーでテストする場合は、Ranorex の拡張機能をインストールする必要があります。
各ブラウザーの拡張機能のインストールについては、以下のユーザーガイドをご参照ください。
・Chrome / Edge Chromium
https://support.ranorex.com/ja/userguide/interfaces-connectivity/instrumentation-wizard/google-chrome/
・Firefox
https://support.ranorex.com/ja/userguide/interfaces-connectivity/instrumentation-wizard/mozilla-firefox/
モバイルアプリケーション
Android
テスト対象アプリケーションのインストゥルメント時にAPIキーの設定を行います。
- Ranorex Studioにて、インストルメントウィザードを開きます。
- モバイルデバイスのインストルメント > Andorid を選択し、デバイスを設定します。
- モバイルアプリのテストタブを開きます。
- ②インストルメントパラメーター横にある「設定」ボタンをクリックします。
- 表示された「Settings」ダイアログの「APK Signing」欄にて、以下項目の設定を行います。
・Keystore:jarsigner に使用されるキーストアの場所 (絶対パス)を指定します。
・Keystore pass:jarsigner に使用されるキーストアのパスワード(※1)を指定します。
※1. パスワードは平文で格納されることにご注意ください。製品用証明書は使用できません。 - 「OK」ボタンをクリックし、通常のインストルメント手順を実行します。
モバイル端末をUSB接続している場合、Wifi接続にすることでパフォーマンスの改善が期待できます。
USB接続では、ADB経由で多くの情報のやりとりがおこなわれるため、Wifi接続に比べ、パフォーマンスが落ちる場合があります。
“Mobile Key Press”アクション では、既定のキーの押下しか指定できません。既定のキー以外のキーイベントを発生させたい場合は、ユーザーコードで adb 経由でキーイベントを送る必要があります。
コード例:
String pathToAdb = @”C:¥¥Program Files (x86)¥¥Ranorex 6.1¥¥Bin¥¥RxEnv¥¥Android¥¥tools¥¥adb.exe”;
Process pr = new Process();
pr.StartInfo.FileName = pathToAdb;
pr.StartInfo.Arguments = String.Format(” shell input keyevent 187″); // タスク切り替えボタン
pr.Start();
pr.WaitForExit();
キーコード一覧:
https://developer.android.com/reference/android/view/KeyEvent.html
対象のアプリケーションのインストルメントの設定情報を変更し、再インストルメントすることで改善がみられる場合があります。 以下の手順で設定を行ってください。
- 対象のモバイル端末から、テスト対象アプリケーションをアンインストールします。
- Ranoerx Sudioにて、インストルメントウィザードのAPKファイルの選択画面にある、「設定」ボタンをクリックします。
- 表示された設定画面にて、以下のオプションの値を”False”にします。
- Instrumentation Options – Full image comparison
- Instrumentation Options – Enable Web Testing※ Webアプリケーションのテストをおこなう場合は、Enable Web Testingオプションの値は”True”のままにしてください。
-
- 必要な情報を設定し、インストルメントを行います。
アプリケーションのデプロイ処理が指定時間内に完了しなかった可能性が考えられます。
以下の対応により、現象が改善する場合があります。
- 対象のモバイルデバイスから、アプリケーションを削除します。
- Ranorex Studioを起動し、「設定」-「プラグイン」タブを開きます。
- 「Mobile」欄の「Deploy Timeout」を変更します(たとえば、”3m”(3分)など)。
- 再度、インストルメントを行います。
インストルメント失敗時に表示される警告以外の原因による対処方法はいくつかあります。
以下の対処方法をそれぞれ1つずつ実施いただき、インストルメントの成功可否をご確認ください。
#インストルメントフラグの設定
Ranorex v9.3以降
-
- インストルメントウィザードから、対象アプリをインストルメント/デプロイします。
- APKファイルを指定する画面で、「設定」ボタンから設定ダイアログを開きます。
- ‘Instrumentation options’の「Multidex application」、「Static instrumentation」、
「Redistribute smali」フラグを”True”に設定します。 - インストルメントウィザードを完了します。
※Ranorex v9.3以前の場合は、設定画面の’Instrumentation Flags’に”-static -multidex -smali_redist”を設定ください。(ダブルクウォート無し)
上記の設定で以下のエラーが表示される場合は、”Redistribute smali”を”false”に設定してください。
System.IO.DirectoryNotFoundException: パス ‘{smaliファイルパス}’ の一部が見つかりませんでした。
#apktoolのアップデート
-
- http://ibotpeaches.github.io/Apktool/から、新バージョンのapktool_X.X.X.jarをダウンロードします。
- ダウンロードしたapktool_X.X.X.jarを、apktool.jarにリネームします。
- リネームしたapktool.jarを、%Ranorexインストールフォルダー%\Bin\RxEn\Android\tools\apkToolに配置します。
- インストルメントウィザードから、対象アプリをインストルメント/デプロイします。
※元のapktool.jarは、念のため、リネームなどをして保管してください。
#1.apkの削除
- %userprofile%\apktool\framework\1.apkを削除します。
- インストルメントウィザードから、対象アプリをインストルメント/デプロイします。
Andoridのテストにおいて、APKファイルのインストルメント時に以下のエラーが発生し、失敗することがあります。
System.IO.DirectoryNotFoundException: パス ‘{smaliファイルパス}’ の一部が見つかりませんでした。
本エラーの対応策として、「インストルメントパラメーターの設定」で、”Instrumentation options”-> “Redistribute smali”を”false”に設定することで現象が改善する場合があります。
iOS
はい、必要です。
配布用(Distribution)ではなく、開発用(Development)のプロビジョニングプロファイルを用意してください。
プロビジョニングプロファイルの他、P12証明書とそのパスワードも必要となります。
詳細は、Ranorexのユーザガイドにある「iOSアプリ」をご参照ください。
ipaファイルの署名に使用した、ipaファイル内のプロビジョニングプロファイルにテストで使用するデバイス(iPhone/iPadなど)のUDIDの記載がないことが考えられます。
インストルメントにて、 対象デバイスののUDIDを登録したプロビジョニングファイルをご用意ください。
また、Ranorexのテストでは配布用(Distribution)プロビジョニングプロファイルは利用できません。
必ず、 開発用(Development)プロビジョニングプロファイルを使用ください。
iOSの場合は、”Touch”アクションの”LongTouch”/”TouchStart”/”TouchEnd”に対応してません。
なお、”Touch”アクションのプロパティから”LongTouch”の設定を行った場合でも、設定は反映されません。
※Androidは、”LongTouch”/”TouchStart”/”TouchEnd”に対応してます。
iPad OSにも、正式にサポートしています。
iPad OSは、iOSと同じ仕様で作成されていることから、使用しているRanorexがサポート対象としているiOSバージョンと同じバージョンのiPad OSが公式サポート対象になります。
iOS のモバイルテストは、Ranorex からデバイスにインストルメントしたアプリに対しておこなうため、Apple Developer Program に加入する必要はありません。
iOSアプリのインストルメントには、IPAファイル、P12証明書、プロビジョニングファイルが必要です。
・アプリのインストルメント
https://support.ranorex.com/ja/userguide/web-mobile-testing/mobile-testing/instrument-apps/
Android/iOS
はい、可能です。
Ranorexの独自ブラウザー(RxBrowser)が用意されているため、RxBrowserを使用することでモバイルWebアプリケーションのテストが可能です。
※ RxBrowserは、各環境(iOS、Android)で提供されている標準のWebViewを使用しています。
なお、iOSやAndroidの組み込みブラウザー(Safari、Chromeなど)については、iOSのSafariブラウザーに対応しています。
一方で、AndroidのChromeブラウザーに対応していません。
iOSのSafariブラウザーのテストについては、以下のBlog記事をご参照ください。
https://ranorex.techmatrix.jp/blog/2023/09/28/safari_test/
基本的に共有化は難しいものとなります。
理由として、異なるプラットフォームであることから、オブジェクトのパス情報(RanoreXPath)が共通化できないことが考えられます。
これにより、共通化出来るところ、出来ないところの見極めなどが発生することから、別々のシナリオとして用意されることを推奨しています。
対応しています。
Swipe Gestureアクションでスワイプ操作が可能です。
いいえ、できません。
また、回避策などもありません。
USB情報漏洩防止ソフトの仕様によりますが、USBに接続されるデバイスを監視/制御するタイプの製品の場合には、Ranorexでモバイルテストをおこなうデバイスの利用許可(登録)を行っていただくことで、モバイルテストが可能となります。
PCとデバイスを同一のWi-Fiに接続することで、認識(エンドポイント追加)が可能となります。
キャプチャはタッチイベントになってしまいますが、シナリオ取得後に何秒タップするか設定する事ができます。
- 対象のモジュールを開き、「F4」キーを押してプロパティを表示します。
- 「Touch」アクションを選択肢、プロパティの「Touch Duration」を開き、「Value」値を変更します。
※ 数字にsをつけると秒数となり、5秒以上継続させたい場合は、タイムアウト値を変更する必要がございます。
「SETTINGS…」→「Plugin」→「Mobile」→「Remote call timeout」の値を変更してください。
いいえ、できません。
そのため、プロキシ認証やベーシック認証の必要がないテスト用のサイトなどをご用意いただく必要があります。
ビデオレポート機能は、モバイルデバイス上の動画を記録することはできません。
デスクトップ(Windows マシン)でのテスト実行のみに対応しています。
はい、可能です。
キャプチャスクリーンショットアクションを追加して、Repository Itemに対象のオブジェクトを指定してください。
アプリケーション画面全体だけでなく、個々のボタン等のオブジェクトのスクリーンショットも取得できます。
Ranorexからインストルメントしたアプリケーションがテスト対象となるため、プリインストールされているアプリには対応していません。
Ranorexからインストルメントしたアプリケーションがテスト対象となるため、ストアからインストールしたモバイルアプリのテストはおこなえません。