FAQ – 対応アプリ

Windows(デスクトップ)アプリケーション

オブジェクト内で期待するプロパティ情報を取得することができません。
いくつかの理由が考えられますが、主な理由として、以下が考えられます。
ExcelのセルにSetValueアクションを使用して、値を入力できません。

Excelのセルはオブジェクトとして認識できますが、SetValueアクションを使用することはできません。
代わりに、KeySequenceアクションを使用してください。

KeySequenceアクションの”Sequence”項目の入力フォームに値を設定することで、Excelのセルに値を入力することができます。
※ただし、半角カナ文字の入力には対応していません。

Ranorexが対応しているQtのバージョンを教えてください。

国内リリース版では、以下のバージョンに対応しています。

  • Ranorex v8.3.1/Ranorex v9.3.1
    • Qt Widgets: Qt 4.5.3 以降
    • Qt Quick : Qt 5.0.2 以降
    • Qt WebKi t: Qt 4.6.4 以降

詳細については、Ranorexユーザガイド「Qtをご参照ください。

Windows エクスプローラーに関して、非可視化領域に存在するフォルダを”Ensure Visible”機能を使用することで、可視化することは可能ですか?

可能となりますが、Windowsエクスプローラーでは動作が安定しませんので、”Ensure Visible”の代わりに、”Mouse Wheel”などで可視化することを推奨しています。

Webアプリケーション

テスト実行時に、テストを行うWebブラウザーを変更することはできますか?

はい、可能です。

“Open Browser”アクションの”Browser”列で、ブラウザー名を変更することで、テストを行うブラウザーを変更できます。

また、以下のように、ブラウザー名を変数化することで、ExcelやCSVのデータソースで、対象のブラウザーを指定することもできます。

  1. レコーディングモジュールにて、”Open Browser”アクションの”Browser”列のブラウザー名を変数化します。
  2. 変数化したブラウザー名にデータソース機能を使用します(データソースのデータには、Webブラウザー名を指定します)。
Internet Explprerブラウザーのセキュリティ設定(保護モードの解除)を変更せずに、テストの作成および実行ができますか?

はい、可能です。
セキュリティ設定(保護モードの解除)を変更せずとも、テストの作成および実行を行えます。

ただし、Ranorexの処理が重くなるため、セキュリティ設定(保護モードの解除)を変更することを推奨しています。

ドロップダウンリストアイテムを認識できません。

ドロップダウンリストは、使用するWebブラウザーやテスト対象のWebアプリケーションによって実装が異なるため、Ranorexがオブジェクトとして認識できるかどうかが大きく異なります。

“Select”要素を使用したドロップダウンリストでは、通常、テストのレコーディング時に”Set Value”アクションとして記録されます。
この場合、”Set Value”アクションの「Name」項目に”TagValue”を指定し、「Value」項目にリスト名を指定することで対応できます。

ブラウザーの画面キャプチャにおいて、スクロールキャプチャはできますか?

Automation Helper v1.6.0で追加された”ReportFullPageScreenshot()”メソッドを使用することで可能です。

ユーザーコードアクションでこのメソッドを実装していただき、対象のWebページのDOM要素のオブジェクトを設定することで、スクロールキャプチャできます。

詳細につきましては、Ranorexのユーザーガイド(オートメーションヘルパー)をご参照ください。

Chromiumブラウザは公式のサポート対象となりますか?

Chromiumブラウザは、公式でサポートされておりません。

しかしながら、Chromeブラウザは、Chromiumブラウザをベースとして開発されおりますので、Chromeブラウザのプラグインを使用することで動作自体は可能となります。

Microsoft Edgeには対応していますか?(OS:Windows 10)

Anniversary Update適用のWindows 10においては、以下の対応となります。

  • Ranorex v6以前:未対応となります。
  • Ranorex v7:Selenium WebDriver連携により、ご利用いただけます。
  • Ranorex v8以降:ネイティブでサポートしています。
  • Ranorex v9.3:従来のEdge、およびChromium版Edgeをサポートしています。

Chromium版Edgeをご利用の場合は、Ranorexのアドオンをインストルメントする必要があります。

Ranorexをv8.3からv9.1にバージョンアップしたことにより、テスト実行で意図しないオブジェクトが認識されるようになりました

Ranorexにて、Webのプラグイン設定を以下の手順で変更してください。

  1. Ranorex Studioを起動します。
  2. ツールバーから、”設定”をクリックし、”プラグイン”タブを開きます。
  3. “Web”項目の”EnableJS-based RanoreXPath evaluation”を”False”に変更します。

※”EnableJS-based RanoreXPath evaluation”は、Ranorex v9.1から追加された機能となり、Webアプリケーションに対する、パフォーマンス向上のための機能となります。

Firefox/Chromeブラウザーのアドオンをオフラインでインストールできますか?

オフラインでのアドオンのインストールをサポートしておりません。
アドオンをインストールの際は、外部ネットワークに接続いただき、ご対応ください。

ファイルのアップロードやダウンロードなどにおけるファイル選択の操作はクロスブラウザテストで対応できますか。

はい、可能です。

ブラウザ上に表示されるファイル選択のボタンの見た目はブラウザごとに異なりますが、ブラウザ依存しない共通の属性値を使用して、オブジェクト認識することで、クロスブラウザテストにご対応いただけます。(属性例: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);
}

制限事項:
・キャプチャした画像の最上位の位置にフッターの要素が固定されます。(最初に画面に表示された位置に固定)
・キャプチャ時に横スクロールがあり、かつヘッダー/フッターやオーバーレイの要素の横幅が固定値ではない場合、ヘッダー/フッターやオーバーレイの要素の画像は、横スクロールで表示されていない部分に表示されずにキャプチャされます。(要素の画像が元のブラウザサイズに合わせて縮小されたままキャプチャされます)
キャプチャする際は、ブラウザを最大化し、横スクロールしないようにしてください。

モバイルアプリケーション

Android

Google MapなどのAPI キーを必要とするアプリケーションのインストルメント方法を教えてください。

テスト対象アプリケーションのインストゥルメント時にAPIキーの設定を行います。

  1. Ranorex Studioにて、インストルメントウィザードを開きます。
  2. Andoridの設定画面を開きます。
  3. 「設定」ボタンをクリックします。
  4. 表示された「Settings」ダイアログの「APK Signing」を開き、以下の項目を表示ます。
    • JDK bin path
    • Key alias
    • Key password
    • Keystore
    • Keystore pass
  5. 以下の項目の設定を行います。
    • Keystore:jarsigner に使用されるキーストアの場所 (絶対パス)を指定します。
    • Keystore pass:jarsigner に使用されるキーストアのパスワード(※1)を指定します。
  6. 「OK」ボタンをクリックし、通常のインストゥルメント手順を実行します。

※1. パスワードは平文で格納されることにご注意ください。製品用証明書は使用できません。

モバイル端末でのレコーディングや、テスト実行において、アプリケーションの動作が重い/接続エラーが発生します。

モバイル端末を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

ネイティブアプリをインストルメントウィザードにてインストルメントし、テストの作成/実行を行ったところ、動作が重くなってしまいます。実行速度を速めることはできますか?

対象のアプリケーションのインストルメントの設定情報を変更し、再インストルメントすることで改善がみられる場合があります。 以下の手順で設定を行ってください。

  1. 対象のモバイル端末から、テスト対象アプリケーションをアンインストールします。
  2. Ranoerx Sudioにて、インストルメントウィザードのAPKファイルの選択画面にある、「設定」ボタンをクリックします。
  3. 表示された設定画面にて、以下のオプションの値を”False”にします。
    • Instrumentation Options – Full image comparison
    • Instrumentation Options – Enable Web Testing※ Webアプリケーションのテストをおこなう場合は、Enable Web Testingオプションの値は”True”のままにしてください。
  4. 必要な情報を設定し、インストルメントを行います。
インストルメント時に、次のエラーが発生します。 “System.TimeoutException: Process did not finish within the specified timeout of ~”

アプリケーションのデプロイ処理が指定時間内に完了しなかった可能性が考えられます。

以下の対応により、現象が改善する場合があります。

  1. 対象のモバイルデバイスから、アプリケーションを削除します。
  2. Ranorex Studioを起動し、「設定」-「プラグイン」タブを開きます。
  3. 「Mobile」欄の「Deploy Timeout」を変更します(たとえば、”3m”(3分)など)。
  4. 再度、インストルメントを行います。
APKファイルのインストルメントが失敗します。

インストルメント失敗時に表示される警告以外の原因による対処方法はいくつかあります。

以下の対処方法をそれぞれ1つずつ実施いただき、インストルメントの成功可否をご確認ください。

#インストルメントフラグの設定

Ranorex v9.3以降

    1. インストルメントウィザードから、対象アプリをインストルメント/デプロイします。
    2. APKファイルを指定する画面で、「設定」ボタンから設定ダイアログを開きます。
    3. ‘Instrumentation options’の「Multidex application」、「Static instrumentation」、
      「Redistribute smali」フラグを”True”に設定します。
    4. インストルメントウィザードを完了します。

※Ranorex v9.3以前の場合は、設定画面の’Instrumentation Flags’に”-static -multidex -smali_redist”を設定ください。(ダブルクウォート無し)

#apktoolのアップデート

    1. http://ibotpeaches.github.io/Apktool/から、新バージョンのapktool_X.X.X.jarをダウンロードします。
    2. ダウンロードしたapktool_X.X.X.jarを、apktool.jarにリネームします。
    3. リネームしたapktool.jarを、%Ranorexインストールフォルダー%\Bin\RxEn\Android\tools\apkToolに配置します。
    4. インストルメントウィザードから、対象アプリをインストルメント/デプロイします。

※元のapktool.jarは、念のため、リネームなどをして保管してください。

#1.apkの削除

  1. %userprofile%\apktool\framework\1.apkを削除します。
  2. インストルメントウィザードから、対象アプリをインストルメント/デプロイします。

iOS

テストで使用するプロビジョニングプロファイルは、別途用意する必要がありますか?

はい、必要です。
配布用(Distribution)ではなく、開発用(Development)のプロビジョニングプロファイルを用意してください。
プロビジョニングプロファイルの他、P12証明書とそのパスワードも必要となります。

詳細は、Ranorexのユーザガイドにある「iOSアプリ」をご参照ください。

インストルメント時に、UDIDの記載がない旨のプロビジョニングファイルのエラーが発生します。

ipaファイルの署名に使用した、ipaファイル内のプロビジョニングプロファイルにテストで使用するデバイス(iPhone/iPadなど)のUDIDの記載がないことが考えられます。

インストルメントにて、 対象デバイスののUDIDを登録したプロビジョニングファイルをご用意ください。
また、Ranorexのテストでは配布用(Distribution)プロビジョニングプロファイルは利用できません。
必ず、 開発用(Development)プロビジョニングプロファイルを使用ください。

Long Touchがおこなえません。

iOSの場合は、”Touch”アクションの”LongTouch”/”TouchStart”/”TouchEnd”に対応してません。
なお、”Touch”アクションのプロパティから”LongTouch”の設定を行った場合でも、設定は反映されません。

※Androidは、”LongTouch”/”TouchStart”/”TouchEnd”に対応してます。

Android/iOS

モバイルのWebアプリケーションのテスト自動化はできますか?

はい、可能です。
なお、モバイルのWebアプリケーションのテストには、Ranorexの独自ブラウザー(RxBrowser)を使用する必要があります。iOSやAndroidの組み込みブラウザー(Chrome、Safariなど)には対応していません。

※ RxBrowserは、各環境(iOS、Android)で提供されている標準のWebViewを使用しています。

iOSとAndroidのシナリオを共有できますか?

基本的に共有化は難しいものとなります。

理由として、異なるプラットフォームであることから、オブジェクトのパス情報(RanoreXPath)が共通化できないことが考えられます。
これにより、共通化出来るところ、出来ないところの見極めなどが発生することから、別々のシナリオとして用意されることを推奨しています。

スワイプ操作には対応していますか?

テストのレコーディング時には、スワイプ操作を記録することはできません。

対象オブジェクトをリポジトリに追加し、手動でスワイプアクションを設定する必要があります。
※ Ranroex v8以降では、テストのレコーディング方法が異なります。

マルチタッチ(ピンチイン/ピンチアウト含む)の操作を行うことはできますか?

いいえ、できません。
また、回避策などもありません。

USB情報漏洩防止ソフトが導入されているPCでモバイルテストはできますか?

USB情報漏洩防止ソフトの仕様によりますが、USBに接続されるデバイスを監視/制御するタイプの製品の場合には、Ranorexでモバイルテストをおこなうデバイスの利用許可(登録)を行っていただくことで、モバイルテストが可能となります。

USB接続以外で、PCにデバイスを認識させる(エンドポイント追加)方法はありますか?

PCとデバイスを同一のWi-Fiに接続することで、認識(エンドポイント追加)が可能となります。

数秒間タッチするイベントをキャプチャすることはできますか?

キャプチャはタッチイベントになってしまいますが、シナリオ取得後に何秒タップするか設定する事ができます。

  1. 対象のモジュールを開き、「F4」キーを押してプロパティを表示します。
  2. 「Touch」アクションを選択肢、プロパティの「Touch Duration」を開き、「Value」値を変更します。

※ 数字にsをつけると秒数となり、5秒以上継続させたい場合は、タイムアウト値を変更する必要がございます。

「SETTINGS…」→「Plugin」→「Mobile」→「Remote call timeout」の値を変更してください。

RxBrowserで、プロキシ認証やベーシック認証を使用しているサイトのテストをおこなうことはできますか?

いいえ、できません。
そのため、プロキシ認証やベーシック認証の必要がないテスト用のサイトなどをご用意いただく必要があります。

RxBrowserで、プロキシ認証やベーシック認証を使用しているサイトのテストをおこなうことはできますか?

いいえ、できません。
そのため、プロキシ認証やベーシック認証の必要がないテスト用のサイトなどをご用意いただく必要があります。

モバイルのテスト実行でビデオレポート機能を使用すると、ローカル環境(Windowsマシン)上の動画が記録されます。

ビデオレポート機能は、モバイルデバイス上の動画を記録することはできません。
デスクトップ(Windows マシン)でのテスト実行のみに対応しています。

モバイルアプリのスクリーンショットは取得できますか。

はい、可能です。

キャプチャスクリーンショットアクションを追加して、Repository Itemに対象のオブジェクトを指定してください。
アプリケーション画面全体だけでなく、個々のボタン等のオブジェクトのスクリーンショットも取得できます。