ソースコードを使用したテスト作成 / ユーザーコード

Ranorexでソースコードを使用する方法の1つとして、ユーザーコードがあります。ユーザーコードは、レコーディングモジュールに用意されている専用のソースファイル(<レコーディングモジュール名>_UserCode.cs/vb)にコーディングをおこないます。また以下の特徴があります。

  • コーディングしたソースコードは、対象のレコーディングモジュール内で管理されます。
  • User codeアクションを使用することで、他のアクションのようにアクションテーブルにてソースコードを呼び出して実行できます。
  • 基本、他のレコーディングモジュールのソースコードを呼び出すことができません。(※1)

※1.ソースコードであるため、クラスを継承することで、他のレコーディングモジュールのソースコードを使用することもできますが、テストが複雑化することや、ユーザーコードの本来の利用目的から外れるため、推奨していません。

ユーザーコードによるコーディング方法

① Ranorex Studioにて、レコーディングモジュールを開きます。

 新しいアクションの追加のプルダウンメニューから、ユーザーコード(User code)新しいメソッドを選択します。

レコーディングモジュール

※作成するソースコードのメソッドに戻り値を持たせたい場合は、新しいメソッド(戻り値付き)を選択します。

※Ranorexでは、アクション(マウス、バリデーションなど)をソースコードに自動変換することや、複数アクションを1つのメソッドとしてソースコードに自動変換できます。これにより一からコーディングをおこなわずに、コード化したアクションをベースにコーディングをおこなうことができます。詳細については、Ranorex ユーザガイド標準アクションのユーザーコードへの変換およびアクションのユーザーコードへのマージ)を参照ください。

③ 追加された User codeアクションのMethod項目にメソッド名(任意)を入力します。

レコーディングモジュール(User codeアクション)

引数の指定:
メソッド名を入力後、Argsボタンをクリックし、表示される引数エディターでメソッドの引数を指定できます。 引数エディターにて、追加ボタンをクリックし、引数を設定します。引数には、名前Name)、型(Type)値(Value)バインドする変数Bound variable)を設定できます。

引数エディター

バインドする変数は、レコーディングモジュールで定義した変数の値を引数に渡したい場合に使用します。たとえば、データ駆動テストなどで、テストデータとバインドした変数の値を使用する場合などです。

※引数では、リポジトリに追加したリポジトリアイテムを渡すことができます。引数の型の種類については、Ranorex ユーザガイドユーザーコード アクションと引数)を参照ください。

④ User codeアクションをダブルクリックすることで、コーディングをおこなうためのソースファイルにジャンプできます。もしくはプロジェクトビューにある、対象のレコーディングモジュールを展開し、ソースファイル(<レコーディングモジュール名>_UserCode.cs/vb)をダブルクリックして直接、開くこともできます。

プロジェクトビュー

⑤ ソースファイルには、User codeアクションで設定したメソッドが定義されており、そのメソッド内にコーディングをおこないます。

ソースファイル(<レコーディングモジュール名>_UserCode.cs)

Ranorex ユーザーガイド(コードサンプル)にて、幾つかのサンプルコードによる解説が載っています。

※Ranorexが提供するAPIについては、Ranorex Studioのヘルプメニューある、API ドキュメントで参照できます。

⑥ 作成したメソッドは、User codeアクションを使用することで、対象のレコーディングモジュール内であれば自由に呼び出すことが可能です。レコーディングモジュールの新しいアクションの追加のプルダウンメニューから、ユーザーコード(User code)ライブラリから選択を選択します。

レコーディングモジュール

ライブラリから選択にて、作成したメソッド名が表示されます。使用したいメソッドを選択後、選択項目を追加ボタンをクリックすることで、User codeアクションとしてアクションテーブルに追加できます。

ライブラリから選択

ソースコード内のメソッドにて、summaryタグを使用することで、ライブラリから選択の説明欄にメソッドの説明などを表示できます。

ソースファイル・ライブラリから選択

まとめ

ユーザーコードは、特定のレコーディングモジュール内で使用するソースコードを記述したい場合に役立ちます。 またレコーディングモジュールすべてをコード化することなく、必要最低限のコーディングで済むことや、既存のアクションを自動でコード変換できるため、コーディングの手間を短縮できるなど、ソースコードを扱いやすい仕組みになっています。

次回は、 ソースコードを使用するもう1つの方法である、コードモジュールについて触れたいと思います。