Ranorex Driver

Ranorex Driver は、デスクトップ アプリケーションの自動化のために使用できる、Ranorex をベースにしたサービス ツールです。

このツールは、Ranorex ランタイム上に W3C WebDriver インターフェイスを実装したものであり、Selenium フレームワークを使用して作成されたテストと組み合わせて使用できます。

Note icon

メモ

Ranorex Driver は、デスクトップ アプリケーションの自動化での使用を想定しています。そのため、すべての WebDriver の機能が実装されている訳ではありません。
これは例えば、Alert の処理、JavaScript の実行、Cookie に関する機能などが利用できないことを意味します。

インストールとセットアップ

Ranorex Driver は、スタンドアローンのインストーラーでインストールできます。

Ranorex Driver は軽量なアプリであり、Ranorex のランタイム ライブラリはインストールしません。代わりに、マシン上の Ranorex Studio と組み合わせて使用します。(Ranorex Studio によって提供されるランタイム ライブラリを使用します)

Note icon

メモ

インストールする Ranorex Driver のバージョンは、マシンにインストールされている Ranorex Studio のバージョンと同じものを使用してください。例えば、Ranorex Studio 10.1.2 をインストールしている場合には、Ranorex Driver 10.1.2 をインストールしてください。

Ranorex Driver のインストールは簡単です。以下の手順にしたがってインストールしてください。

インストール先として、Ranorex Studio の bin フォルダーの場所を選択します。Ranorex Driver が使用するポート番号を指定し、次へ をクリックします。

インストール をクリックします。

インストールが完了すると、Ranorex Driver を自動で起動するかを指定するチェックボックスが表示された画面が表示されます。完了 をクリックします。

このオプションをチェックしない場合、Ranorex Driver を手動で起動する必要があります。Ranorex Driver のインストール先として指定した Ranorex Studio の bin フォルダーにある、RanorexDriver.exe を起動します。

Ranorex Driver のステータス

Ranorex Driver が起動すると、Windows のタスクバーに、Ranorex Driver のトレイ アイコンが表示されます。アイコンを右クリックすると、Ranorex Driver の現在のステータスを確認できます。

スタータスが ‘Connected’ の場合、テストを実行できます。

Ranorex Driver の設定

config.toml ファイルを編集することで、Ranorex Driver が使用するアドレスやポートを変更できます。このファイルは、C:\ProgramData\Ranorex Driver ディレクトリにあります。

アドレスやポートを変更したらファイルを保存し、Ranorex Driver を再起動してください。

from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Remote("http://127.0.0.1:7993", { "browserName": "Ranorex", "rx:app": "Calc", "rx:args": "", "rx:force": True, "rx:whitelist": ["Calculator", "Calc"]}) print("Calc application opened: " + driver.title) button2 = driver.find_element_by_xpath("/winapp//button[@automationid='num2Button']") print("Calc button 2 get handle") button2.click() print("Calc button 2 clicked") driver.find_element_by_xpath("/winapp//button[@automationid='num1Button']").click() print("Calc button 1 clicked") driver.find_element_by_xpath("/winapp//button[@automationid='multiplyButton']").click() print("Calc button * clicked") driver.find_element_by_xpath("/winapp//button[@automationid='num2Button']").click() print("Calc button 2 clicked") driver.find_element_by_xpath("/form").send_keys("=") print("Calc sent key =") result = driver.find_element_by_xpath("/winapp//text[@automationid='NormalOutput']").text print("result: " + result) driver.close()

サンプル

Selenium Python クライアント、Ranorex Driver、Windows の電卓アプリを使用してテストを実行する例について説明します。

  • Python のインストール
    マシンに Python がインストールされていることを確認してください。Python.org からダウンロードできます。
Note icon

メモ

Selenium クライアントは、C# や Java といった、Python 以外の言語でも使用できます。

  • Selenium のインストール
    Python のインストールが完了したら、コマンドラインを開き、pip コマンドを使用して Selenium モジュールをインストールします。
    pip install selenium

Ranorex Driver と Selenium によるテスト自動化

任意の場所に calc_test.py ファイルを作成し、以下のリンクにあるコードを記述します: Ranorex Driver and Selenium Automation

Note icon

メモ

Ranorex Driver に接続するためには、いくつかのパラメーターを設定する必要があります。

  • browserName – “Ranorex” を指定します。
  • rx:app – セッションで開始するアプリケーションへのパスを指定します。(例: “test.exe”)
  • rx:args – アプリケーションの引数を指定します。
  • rx:force – 指定した現在のセッションを中断し再起動するかを指定します。
  • rx:whitelist – セッションでホワイトリストに加えるプロセス名のリストを指定します。

ファイルを保存します。コマンドラインを開き、calc_test.py を配置したパスへ移動し、以下のコマンドを実行します。
python  test_calc.py

電卓アプリが起動し、テストが実行されます。

サポートする WebDriver API コマンド

前項で説明したように、Ranorex Driver はすべての WebDriver API をサポートしている訳ではありません。サポートしている機能は以下です。

  • New Session
  • Delete Session
  • Status
  • Set Timeouts
  • Get Title
  • Find Element  
  • Get Element Attribute
  • Get Element Text
  • Get Element Tag Name
  • Is Element Enabled
  • Element Clear
  • Take Element Screenshot

上記の API についての詳細は、WebDriver のサイトで確認ください。サイトに掲載されている API は、プレーンな REST API リクエストで説明されていますが、同等のメソッドが Selenium Python モジュールにもあります。