QTPリニアフレームワーク-例との完全なリファレンス-XX-XX

前の記事では、テスト自動化フレームワークとは何かについて説明し、スクリプト中に使用できるさ この記事から始めて、各QTPフレームワークの種類について詳細に説明します。
この記事では、QTPリニアフレームワークの次の側面について説明します–

  • a)QTPの線形フレームワークとは何ですか。
  • b)線形フレームワークを構成するコンポーネントは何ですか。
  • c)QTPの線形フレームワークでスクリプトを書く方法。
  • d)線形フレームワークの長所と短所。

更新

1)このフレームワークに使用されているコードを自由にダウンロードして遊ぶことができます。 ダウンロードリンクは記事の最後にあります。

2)このように、他の様々なQTPフレームワークについてもっと多くの記事を書いています。 これらをご覧になりたい場合は、QTP Frameworkのメインページをご覧ください。 ページの下部には、他のQTPフレームワークへのリンクが含まれています。

これらの点のそれぞれを一つずつ議論しましょう。

QTPリニアフレームワークアプローチとは何ですか?

線形フレームワークは、あなたの行動のすべてのステップを線形形式で次々に書くことに過ぎません。 このアプローチは線形スクリプトとも呼ばれます。 このアプローチでは、テストケースフロー全体がqtpで線形に記述されます。

アプリケーションにログインし、データを検索してからログアウトするテストケースがある例を考えてみましょう。 線形フレームワークでは、コードは以下のようになります。

'Code to Open Application'Code to enter user name in Login Page'Code to enter password'Click on Login button and verify successful Login'Search for the required data'Logout from the application'Close the application

上記の例でわかるように、このタイプのQTPフレームワークを使用したフレームワークの作成に関してはあまり行っていません。 したがって、これは使用して実装する最も簡単なフレームワークです。 私たちがQTPで行う通常の記録と再生は、このフレームワークに該当します。

ここで、QTP線形フレームワークの長所と短所をいくつか見てみましょう。 これは、このフレームワークの陽性と欠点を分析するのに役立ち、このフレームワークを使用できる状況を判断するのに役立ちます。

QTPリニアフレームワーク–長所と短所

利点

  • a)自動化の専門知識はほとんど必要ありません。 スクリプトを作成するために必要なのは、ツールの知識だけです。
  • b)これはスクリプトを作成する最速の方法です。
  • c)フレームワークは複雑ではないので、流れが非常に理解しやすくなります。

短所

  • a)コードは関数を使用せずに線形に記述されているため、再利用の範囲はほとんどありません。
  • b)コードを再利用する唯一の方法は、必要な場所にコピーして貼り付けることです。 したがって、同じコードが複数の場所に書き込まれます。 影響を受けるすべての場所で変更を加える必要があるため、このコードを維持することは非常に時間がかかり、エラーが発生しやすいです。
  • c)このフレームワークでは、テストデータはスクリプトにハードコードされます。 そのため、同じコードを使用して複数のデータセットをテストすることはできません。 実行ごとにデータを変更するか、異なるデータをテストするためにコードの複数のコピーを作成する必要があります。 これらの方法はどちらも非効率的です。

QTP Linear Frameworkをどこで使用するのですか?

上記のセクションから、このフレームワークの欠点が利点を上回っていることを明確に知ることができます。 再利用性と保守性は、自動化フレームワークを作成する際に考慮される主要な要因の一部です。 このため、実際のプロジェクトでlinear frameworkが使用されていることはほとんどありません。

あなたは複雑な現実の自動化プロジェクトでそれを使用することはできませんので、これはこのフレームワークが全く役に立たないことを意味しますか? まあ. 正確には違う このフレームワークを使用して、作業をすばやく終了したいタスクに使用できます。 これは、手動テストをサポートするためにも使用できます。

この状況を考えてみてください。 多くの注文を作成する必要があるアプリケーションをテストしているとします。 今、これらのタスクを作成するには、時間がかかり、時間のかかるプロセスです。 ここでできることは、注文作成フローを記録し、スクリプトを実行して注文を作成することです。 あなたが昼食のために外出するときにスクリプトを実行することができ、あなたが戻ってくるまでに、あなたはあなたの注文を準備してい 🙂

マシンの起動時にGMailアカウントで新しいメールを確認したり、タイムシートを記入したりするなど、他の多くの反復可能なタスクにも使用できます。 可能性は無限大です!!

Qtp線形フレームワークのコンポーネント

このフレームワークは非常にシンプルで簡単なので、通常は関連付けられているコンポーネントは多くありません。 以下の図は、このフレームワークで使用される一般的なコンポーネントを示しています。

1) テストスクリプト: このアプローチを使用して多くのテストケースを自動化することはありませんが、どのようなシナリオを使用しても、一つ以上のQTPテストでそれらをクラ

2)オブジェクトリポジトリ:record and playbackメソッドを使用してテストスクリプトを作成する場合は、オブジェクトリポジトリが自動的に生成されます。 必要に応じて、リポジトリ内のオブジェクトプロパティにいくつかの変更を加えることができます。 記述的なプログラミングの概念を使用して、オブジェクトリポジトリを完全にスキッ

テストケースを実行する時間をスケジュールする場合は、ドライバスクリプトなどの追加コンポーネントを使用することもできます。

QTPリニアフレームワークの例

ここでは、GMailを開き、今日受信トレイで受信したメールの数を取得するスクリプトをQTPリニアフレームワークで作成します。 QTPのAOMを使用して、このテストケースの実行時間をスケジュールするのに役立つドライバスクリプトも作成します。

今日受信したメールの受信トレイをチェックするコード

Dim iTodayMailsiTodayMails = 0'Open GMailSystemUtil.Run "iexplore.exe", "http://www.gmail.com"'Page SyncBrowser("Gmail").Page("Gmail").Sync'Login to GmailBrowser("Gmail").Page("Gmail").WebEdit("UserName").Set "valid gmail login id"Browser("Gmail").Page("Gmail").WebEdit("Password").Set "valid gmail password"Browser("Gmail").Page("Gmail").WebButton("SignIn").Click'Page SyncBrowser("Inbox").Page("Inbox").Sync'Search for emails received today in your inbox'Logic - The mails received today will have only time in the last(8th) column.'Time is always followed by am or pm. So the code check for the last 2 characters and matches it with am or pm.For iR = 1 to 50sLastColumnText = Browser("Inbox").Page("Inbox").Frame("Frame").WebTable("Emails").GetCellData(iR,8)sLast2Characters = Right(sLastColumnText, 2)If sLast2Characters = "am" or sLast2Characters = "pm" TheniTodayMails = iTodayMails + 1Else'Exit ForEnd IfNext'Report the number of mails received todayReporter.ReportEvent micPass, "Total Emails Received Today - " & iTodayMails, ""'Sign out from GMailBrowser("Inbox").Page("Inbox").Frame("Frame").Link("SignOut").ClickBrowser("Gmail").Page("Gmail").Sync'Close the browserBrowser("Gmail").Close()

QTP AOM

Dim testCasePath, resultPathtestCasePath = "D:\QTP\QTP Framework Samples\QTP Linear Framework Demo\GMail Inbox1"resultPath = "D:\QTP\QTP Framework Samples\QTP Linear Framework Demo\Result"'Open QTPSet qtpApp = CreateObject("QuickTest.Application")'If QTP is not open then open QTP applicationIf qtpApp.launched <> True ThenqtpApp.LaunchEnd If'Make the QuickTest application visibleqtpApp.Visible = True'Set QuickTest run optionsqtpApp.Options.Run.ImageCaptureForTestResults = "OnError"qtpApp.Options.Run.RunMode = "Fast"qtpApp.Options.Run.ViewResults = True'Open the test in read-only modeqtpApp.Open testCasePath, TrueWScript.Sleep 2000'set run settings for the testiSet qtpTest = qtpApp.Test'Instruct QuickTest to perform next step when error occursqtpTest.Settings.Run.OnError = "NextStep"'Create the Run Results Options objectSet qtpResult = CreateObject("QuickTest.RunResultsOptions")'Set the results locationqtpResult.ResultsLocation = resultPath'Run the testWScript.Sleep 3000qtpTest.Run qtpResult

を使用して作成されたドライバスクリプトこのDriverScriptコードをWindowsスタートアップに追加するか、一日の特定の時間にテストケースを実行するようにスケジュー

Leave a Reply