テスト内容に合ったアクションを使用する
今回は、皆様からよくいただく質問についてご紹介します。その中でも、Ranorexで使用する”アクションの種類”に関するご質問を紹介させていただきます。目次は以下となります。
Q1.次の画面に遷移するまで待機し、画面が表示された後、次の操作を行えますか。
Q2.文字を入力する際に、キーボードの設定に関係なく入力する方法はありますか。
Q3.複数のアプリケーションをまたがったテストを行うことはできますか。
Q4.表示された値を取得し、取得した値を他の部分で使用することはできますか。
Q5.操作の途中で検証項目を挟みたいのですが、Ranorexで行うことはできますか。
まず前提として、Ranorexでは操作を自動化するためのアクションが用意されています。用意されたアクションを使ってテストシナリオを作成することで、テストの自動化を行います。図①のようなアクションテーブルの中に設定したアクションが、テストシナリオとなります。
1つ1つの操作はアクションに基づくため、テストを作成するには、行いたい操作内容や目的に合ったアクションを選択する必要があります。そこで、今回はよくあるご質問として”アクションの種類”について取り上げていきます。
Q1.次の画面に遷移するまで待機し、画面が表示された後、次の操作を行えますか。
A1.可能です。
Ranorexには、画面描画など何らかの処理の完了を待機する方法として、以下のような方法があります。
- Delay アクション:Delay は、指定した時間を待つアクションです。処理を待機したい場所の前に追加し、タイミングを調整します。
- Wait For アクション:Wait Forは、任意のオブジェクトの存在/消失状態を待機するアクションです。期待の画面に遷移すると、次のアクションが実行されます。
- Invoke Action – WaitForDocumentLoaded() アクション:Web ページのルートエレメント(DOM)に対してのみ指定可能なアクションです。
- 対象の Web ページが完全にロードされるまで待機します。
Q2.文字を入力する際に、キーボードの設定に関係なく入力する方法はありますか。
A2.あります。
Ranorexには、文字入力を行うアクションとして、以下のアクションがあります。
- Key Sequence アクション:Key Sequenceは、キーボードの操作をそのまま記録し、再生を行うアクションです。そのため、入力形式はキーボードの設定状況に基づきます。また、Key Sequenceの入力速度は設定することができます。
- Set Value アクション:Set Valueは、対象のオブジェクトに対し、直接値を入力するアクションです。
- そのため、キーボードの設定に関係なく値を入力したい場合、Set Valueアクションを利用します。
Q3.複数のアプリケーションをまたがったテストを行うことはできますか。
A3.可能です。
Ranorexでは、以下のアクションを使いアプリケーションを起動します。複数のアプリケーション(WebアプリケーションとWndowsのデスクトップアプリケーションなど)をまたがったテストも可能となります。
- Open Browser アクション:Webアプリケーション(ブラウザ)を起動するためのアクションです。
- Run Application アクション:デスクトップアプリケーションを起動するためのアクションです。
- Run Mobile App アクション:モバイルアプリケーションを起動するためのアクションです。
Q4.表示された値を取得し、取得した値を他の部分で使用することはできますか。
A4.可能です。
Ranorexには、以下のアクションで表示された値を取得したり、取得した値を使用することができます。
- Get Value アクション:対象のUI 要素の属性値を取得し、モジュール変数に格納するアクションです。
- このアクションを使うことで、表示された値を取得することができます。
- Set Value アクション:対象のオブジェクトに対し、直接値を入力するアクションです。Get Valueで取得した値をSet Valueを使い入力できるため、取得した値を他の箇所で利用することができます。
Q5.操作の途中で検証項目を挟みたいのですが、Ranorexで行うことはできますか。
A5.可能です。
Ranorexで検証を行う際には、以下のアクションで行います。
- Validate アクション:Ranorexで設定した期待値と実際に表示された値が一致しているかの検証を行います。検証結果 (成功、失敗)はレポートに出力されます。
また、Ranorexでの検証方法については、表示された文字列だけでなく、属性値による検証や、画像の比較なども行うことができます。Ranorexには以下のような設定内容があります。
- Exist/NoExist:対象のオブジェクトが存在しているか/していないかをチェックします
- AttributeEqual:属性が特定の値と等しいかチェックします
- AttributeRegEx:正規表現を利用し、特定の属性の照合値が一致しているかチェックします
- AttributeContains/AttributeNotContains:特定の属性に照合値が含まれているか/含まれていないかチェックします
- ContainsImage:表示された画面内に期待値としたイメージ図が含まれているかチェックします
- CompareImage:表示された画面内に期待値としたイメージ図と一致しているかチェックします
画像比較についての詳細は、以下の記事をご参照ください。
- イメージ バリデーション機能の使用方法 記事を見る
Ranorexでテストを作成する際には、目的に合ったアクションを使用することが重要ですので、ぜひご参考ください。