QTP/UFTのデータ、キーワード、ハイブリッドオートメーションフレームワーク
このチュートリアルでは、QTP(HP UFT)を使用して
- Data Driven Framework
- Keyword Driven Framework
- Hybrid Framework
を作成しますので、始めましょう–
Data Driven Framework
Data Driven Frameworkは、入力データと出力データの異なる組み合わせ。
データの異なる組み合わせを渡す1つの方法は、パラメータ化によるものです。 この方法では,QTPの異なる特徴を使用した。 パラメータ化の詳細については、こちらをご覧ください。
しかし、DDFでは、パラメータ化を行うためのスクリプトが書かれています。 この種のフレームワークは、AUTの機能を複数の入力でテストし、それぞれの出力をキャプチャする必要がある場合に便利です。 これらの入力は、データベース、Excel、Outlook、テキストファイルなどの外部ファイルから読み取ることができ、それぞれの出力は対応する外部ソースに書き戻され
データ駆動型フレームワークに関連する一般的な手順は次のとおりです:
- テスト対象アプリケーションのテストケースの準備
- AUTからOR
- テストケースに基づいてスクリプトを作成
このチュートリアルでは、Excelをテストデータの外部ソースとして使用して、サンプルテストケースのデータ駆動型フレームワーク設計を開発します。
Step1)テスト対象アプリケーションのテストケースを準備する
テストケース:注文番号を開き、その注文の顧客名を取得します。 異なる注文番号に対して同じプロセスを繰り返す
外部ソース:Excelファイル
を使用したオートメーションフレームワークの作成このサンプルの外部ソースはExcelファイルです。 Micro Focus UFTのVBスクリプトは、テストデータを読み取るためにExcelファイルを開くように記述する必要があります。 これは階層的な方法で達成することができます。
1. Excelファイルが最初に開かれますasアプリケーション
2。 次に、ブックを指定した場所
3から開く必要があります。 テストデータがあるシート。
4. 最後に、セルを読み取る必要があります。
ステップ2)AUTからまたは
へのオブジェクトの追加テストケースの準備ができたら、必要なすべてのオブジェクトをリポジトリに追加します。 私たちのテストケースでは、追加する必要があるオブジェクトは次のとおりです
- “フライト予約アプリケーションの”フォルダ”アイコンを開く
- “”フォルダを開く”アイコンをクリックしたときに取得できるチェックボックス”Order No”
- <4345><9421>
- OKボタン
- WinEditボックスである「名前」フィールド。 このフィールドには、特定の注文番号のOKボタンをクリックすると、名前が入力されます。
必要なすべてのオブジェクトが追加されると、オブジェクトリポジトリは次のように表示されます:
ステップ3)テストケース
に基づいてスクリプトを記述するスクリプトを実行する前に、テストデータを含むExcelファイルが保存されて閉じられている
以下のスクリプトは、Excelから注文番号を読み取り、変数「vOrder」を介してアプリケーションに割り当て、アプリケーションから変数「vName」を介して顧客名を書
エクセルネーム:FlightDDF.xlsx
シート名:Sheet1
出力
上記のスクリプトを実行すると、次のようにExcelから出力を取得できます:
データ駆動型フレームワークは、記述的プログラミングを記述することによっても開発できます。
データベースをDDFの外部ソースとして使用する
次の手順を使用して、外部ソースがデータベースである場合、同じテストケースを実行できます
- VBScriptを記述してデー
- 目的のフィールドを開くためのVBScript
- 特定のセルがフィールドから読み取られます。
スクリプト
To Establish a Microsoft Database connection
Driver={Microsoft Access Driver(*.mdb)};DBQ=<データベースのパス>
レコードセット名:OpenOrder
フィールド名:OrderNo,CustomerName
P.S:Microsoft Access2010は、以下のスクリプトを使用して接続できません。
出力
DDFの利点
- 1回のテストで多数のテストデータを外部ファイルに読み書きできます
- Loop文を使用して、同じ手順を数回繰り返します。 したがって、コーディング労力が削減されます
- データは外部ファイルに直接読み書きされるため、データをコピー、貼り付け、エクスポートする必要はありません
- テストデータは外部ファイルから読み出すことができ、出力は他の外部ファイルに書き込むことができます
DDFの欠点
- このフレームワークを開発するにはスクリプトの知識が必要です
- データベースのような外部ソースからのデータの数や組み合わせが、qtpを遅くしたり、クラッシュしたりすることがあります
keyword driven framework
Keyword Driven Frameworkは、キーワードがテストを駆動するフレームワークです。 ここでキーワードは、ユーザー定義関数を指します。 このフレームワークでは、特定のテストステップまたはテストケースを実行するためにキーワードが作成されます。 これらのキーワードは、同じテストで複数のテストケースを実行するためにドライバーテストに呼び出されます。
QTPのユーザー定義関数については、こちらをご覧ください
を使用した自動化フレームワークの作成一般に、フレームワークはテストを実行するために三つの方法で開発することができます。
- テストを記録して実行する
- ローカルリポジトリにオブジェクトを追加し、すべてのテストステップのスクリプトを作成する
- すべてのテス
私たちの目的は、アプリケーションへのログイン、注文の挿入、注文の開き、注文の削除、アプリケーションの閉じなど、五つの異なるテストケースに対して単一のテストを実行することです。 したがって、これらのテストケースのテストステップを記録し、キーワードLogin、InsertOrder、OpenOrder、DeleteOrder、CloseAppをそれぞれ使用して関数を作成します。
テストケース1:アプリケーションへのログイン
キーワード:Login()
記録されたスクリプト:
を使用した自動化フレームワークの作成テストCase2:Order
キーワードを挿入します:
記録されたスクリプト:
を使用した自動化フレームワークの作成テストCase3:注文を開く
キーワード:OpenOrder()
記録されたスクリプト:
テストCase4:順序を削除する
キーワード:DeleteOrder()
記録されたスクリプト:
テストCase5:アプリケーションを閉じる
キーワード:CloseApp()
記録されたスクリプト:
異なるテストケース用に作成された関数は、関数ライブラリに保存され、メインテストに関連付けられます。 メインテストで必要なテストケースのキーワードを呼び出すだけで十分で、メインテストのドライバスクリプトのサイズが小さくなります。
この単純なフレームワークのドライバスクリプトは次のようになります:
上記のスクリプトを実行することで、5つのテストケースすべての実際の結果を1つのテストから得ることができます。
利点
- それぞれのキーワードを呼び出すだけで、単一のテストで任意の数のテストケースを実行できます
- すべてのweb/windowsオブジェクトの一般的な記述プログ7225>短所
- 実行するテストケースの数が非常に少ない場合、これらのフレームワークの開発にかかる時間は非常に高くなります
- ステップの記録は、 同じテストの多くの適用。
ハイブリッドフレームワーク
ハイブリッドフレームワークは、データ駆動型フレームワーク(DDF)とキーワード駆動型フレームワーク(KDF)の組み合わせであり、複数の入力を持つ複数のテストケースを同じテストで実行できます。
この記事では、KDFで使用されているのと同じテストケースが単一のテストで実行されます。 すべてのテストケースのキーワードとスクリプトは、KDFと同じです。 ただし、TC3:Openの順序はパラメータ化されています。 したがって、このテストケースのスクリプトは、Excelファイルから注文番号を受け取り、顧客名をexcelファイルに書き込むために書かれています
Test Case1:アプリケーションへのログイン
キーワード:Login()
Test Case2:注文を挿入
キーワード:InsertOrder()
Test Case3:複数の注文番号の注文を開く
キーワード:OpenOrder()
: ここでは、DDFを開発するために使用されるのと同じスクリプトが使用され、それによっていくつかの反復のテストケースが達成されます。
:
Test Case4:順序を削除する
キーワード:DeleteOrder()
Test Case5:アプリケーションを閉じる
キーワード:CloseApp()
この単純な方法に従うことにより、TC3のパラメータ化が達成される。 該当する場合は、他のすべてのテストケースを同じテストでパラメータ化することもできます。たとえば、
は、ハイブリッドフレームワークを設計する非常に簡単な方法です。 同じフレームワークは、記述的プログラミングでも達成できます。
利点
- ハイブリッドフレームワークで設計されたテストを実行するのにかかる時間は、他のフレームワーク
- と比較して比較的少ないこれは、同じテストスイート内の特定のテストケースに関連付けられているすべてのテストケースと入力が必要な場合に使用できます。
- 異なるフレームワークを組み合わせることに関する明確な知識が必要です。