ユーザー コード リファレンス:知っておきたい基本操作

ユーザー コードの使用において、知っておくと便利な以下の基本機能について紹介します。
- アクションの自動コード変換
- リポジトリアイテムの参照
- 変数・パラメーターの呼出し
※ユーザー コードの機能概要については、こちらの記事をご参照ください。
※本記事で紹介しているRanorex APIについては、API ドキュメントをご参照ください。
アクションの自動コード変換
レコーディングモジュールのアクションをコードとして実行したい場合、アクションテーブルに設定したアクションを自動でコード化することができます。RanorexのAPI ドキュメントを参照するよりも、アクションを自動でコード化したものを使用する方が確実であり、簡単にコーディングをおこなうことができます。
レコーディングモジュールを開き、コード化したいアクションを右クリックし、ショートカットメニューにて、 ユーザー コードに変換または、ユーザー コードに変換(戻り値付き) を選択します。

ユーザー コードに変換 を選択した場合、戻り値なしのメソッドが生成され、そのメソッド内に対象アクションのコードが記述されます。 また、ユーザー コードに変換(戻り値付き)を選択した場合、戻り値(型:string)を持つメソッドが生成され、そのメソッド内に対象アクションのコードが記述されます。
※複数アクションを選択し、ユーザー コードにマージ または、ユーザー コードにマージ(戻り値付き) を選択することで、複数のアクションを1つのメソッドとしてコードに出力することもできます。

対象のアクションは、 ユーザー コード(User code)アクションに自動変換され、コード(メソッド)は、対象のレコーディングモジュールにて、ソースファイル( <レコーディングモジュール名>_UserCode.cs/vb )に出力されます。


またメソッドで戻り値を指定した場合、戻り値を変数で受け取ることができます。
レコーディングモジュールにて、対象のユーザー コード アクションを右クリックし、ショートカットメニューからプロパティを選択します。(または、F4キーでプロパティを開きます)

Ranorex Studioの右ペインにプロパティが表示されます。表示されたプロパティにて、Return value variableにあるプルダウンメニューからAs new variableを選択し、戻り値を格納する変数を設定します。
※変数については、Ranorex ユーザー ガイド(テストと変数の定義)を参照ください。

リポジトリアイテムの参照
リポジトリアイテムをコードで参照したい場合、2つの方法があります。1つは、メソッドの引数として参照する方法と、もう1つは、コードにて生成したリポジトリのインスタンスからリポジトリアイテムを参照する方法です。なお、前者の方が、メソッドの利用において、汎用性を持たせることができます。
メソッドの引数としてリポジトリアイテムを参照する
アクションの自動コード変換を使用した場合、対象のアクションで指定されているリポジトリアイテムがメソッドの引数として設定されます。また、一からユーザー コード アクションを設定した場合は、メソッド名を指定した後、Args ボタンをクリックし、表示される引数エディターにて、引数を指定できます。

リポジトリアイテムを呼び出すための型(参照型)として、RepoItemInfoとAdapterの2つのクラスがあります。各クラスで提供されるプロパティやメソッドなどの情報については、API ドキュメントを参照ください。

生成したリポジトリのインスタンスからリポジトリアイテムを参照する
使用するリポジトリのインスタンスを指定してリポジトリアイテムを参照します。ソースファイル(<レコーディングモジュール名>_UserCode.cs/vb)を開き、タブから選択できる状態にします。

リポジトリにて、対象のリポジトリアイテムをドラッグして、ソースファイルのタブにカーソルを移動します。

表示されるソースファイルにて、対象のメソッド上にドロップします。

※レコーディングモジュールのユーザー コードで、リポジトリアイテムを参照する場合は、対象のレコーディングモジュールに設定されているリポジトリのインスタンス(repo)を使用します。また、ユーザー コードコレクションや、コード モジュールでは、使用するリポジトリが設定されていないため、コードにて使用するリポジトリのインスタンスを指定する必要があります。

変数・パラメーターの呼出し
レコーディングモジュール・リポジトリで設定した変数や、テストスイート・テストケースで設定したパラメーターをコードにて呼び出すことができます。
※変数・パラメーターは、string型になります。
レコーディングモジュールで設定した変数の呼出し
レコーディングモジュールのソースファイル(<レコーディングモジュール名>_UserCode.cs/vb )では、使用したい変数名を直接、指定して呼び出すことができます。

※他のレコーディングモジュール、ユーザー コードコレクションやコード モジュールで 変数を呼び出す場合は、変数をバインディングしたパラメーターを呼出すことで、値の読込みや、書き込みをおこないます。
リポジトリで設定した変数の呼出し
リポジトリで設定した変数は、リポジトリのインスタンスを使用して、”<リポジトリファイル名>.Instance.<変数名>“の記述により、変数を呼び出すことができます。

パラメーターの呼出し
テストスイート・テストケースで設定したパラメーターを呼び出すことができます。
“TestSuite.Current.Parameters[<パラメーター名>]“の記述により、パラメーターを呼び出すことができます。

※カテゴリ名、データやメッセージは、string型になります。