検証時の待機時間を変更する方法
Validateアクションを使用した検証では、指定された一定の時間内に対象のオブジェクトに対する検証が行われます。この「一定の時間」は、検証対象のアイテムに設定されている待機時間をもとにしていますが、検証の内容によっては、待機時間を任意の時間に変更したいといったご質問もいただきます。
そこで今回は、この待機時間を変更したい場合の対応方法として以下2つの方法をご紹介します。
- リポジトリの設定を変更する
- ユーザーコードを使用する
待機時間の確認方法
検証時の待機時間は、アクションごとではなく、リポジトリアイテムで設定されています。設定されている値は、対象のリポジトリアイテムの “Effective timeout” で確認できます。
“Effective timeout” は、リポジトリアイテムやその親フォルダで設定されている “Serch timeout” の合算となります。
上の図の場合、LblWelcomeMessage の “Effective timeout” は、
RxMainFrame の “Serch timeout” + RxTabIntroduction の “Serch timeout” + LblWelcomeMessage の “Serch timeout”
となります。
1. リポジトリの設定を変更する
リポジトリアイテムに設定されている “Serch timeout” の時間を変更することで、検証時の待機時間も変更することができます。
リポジトリアイテムのプロパティ画面から、”Search Timeout” を任意の値に変更すると、”Effective Timeout” が変更されます。
【注意点】
1.この方法では、対象のアイテムに対する変更となるため、そのアイテムを使用している他のアクションにも変更した待機時間が反映されます。
2.対象アイテム自体の検索時間(”Search Timeout”)を変更するだけでなく、親フォルダの待機時間(”Search Timeout”)も変更することで、より短い時間に変更できます。ただし、親フォルダの検索時間を変更すると、そのフォルダ配下にあるすべてのアイテムの待機時間(”Effective Timeout”)が変更されます。
2. ユーザーコードを使用する
対象のValidateアクションのみの待機時間を変更したい場合は、ユーザーコードを使用します。
操作手順
- アクションテーブルからValidateアクションを右クリックし、ユーザーコードに変換 をクリックします。
- 作成されたUser codeアクションをダブルクリックします。
- {レコーディングモジュール名}.UserCode.cs が表示されるので、個別にコードを修正します。
コード例:
public void Validate_NotExists(RepoItemInfo ItemInfo){
// 引数のリポジトリアイテムのRanoreXPathを取得
RxPath path = ItemInfo.Path;
// Validate - NotExistsを実行する
// 第二引数は任意の値に変更(単位:ミリ秒)
Validate.NotExists(path,10000);
}
上記の例は、ItemInfoで設定されているリポジトリアイテムが存在しないことを検証するために10秒間待機することをあらわします。
ユーザーコードについては、Blog記事「ソースコード(C#、VB.NET)を使用したテスト作成」で紹介しています。
まとめ
本記事では、検証時の待機時間を変更する方法をご紹介しました。Ranorexでバリデーションをおこなう際の参考情報としてご活用ください。
Ranorexのバリデーションについては以下のページをご参照ください。