QTP LoadAndRunaction - Calleeからのトランザクション時間は、発信者の実行結果の一部ですか?
-
11-10-2019 - |
質問
別のテストAを使用してアクションxを呼び出すと LoadAndRunAction
, 、呼び出されたアクションで収集されたトランザクション時間は正しく報告されていますか?
IEこのような発信者スクリプトAをLoadRunnerシナリオに挿入すると、LoadRunnerの結果レポートには、テストAで測定されたトランザクション時間とアクションXの両方が含まれますか?
正直なところ、私はこのアドホックをテストするのが面倒だからです。
バックグラウンド: QTPスクリプトを使用してGUIユーザーアクティビティをシミュレートするLR Szenariosがいくつかあります。これらのQTPスクリプトは非常に大きく、すべてのロードジェネレーターに何度も展開されます。アイデアは、ビッグQTPテストを手動で一度展開し、ビッグテストを呼び出すコンパクトなQTPテストを作成し、そのcompTACTテストをLRシナリオに挿入することです。
解決
わかりました、今、私は自分自身に答えていることがわかりました、それらを共有するのはただ公平です:
LoadAndRunAction
トランザクション時間を正しく報告しないため、発信者はCalleeで測定されたトランザクションを表示しません。
ただし、従来のアクションコールを使用して、ターゲットアクションを呼び出すことができます。ただし、Loadrunnerコントローラーは、存在しないロードジェネレーターに発信者のものを展開しようとしているため、Loadrunnerコントローラーは何らかの形で発信者とCalleeの間の依存関係を台無しにするため、これは機能しません。
私たちにとっての解決策は、「実際の」QTPテストCを呼び出す2番目のQTPテストBを呼び出す愚かなQTP呼び出し元スクリプトAを作成することでした。あれは:
- すでにCを保持しているQTPマシンを使用してAとBを開発します
- AとBをコントローラーにコピーします
- シナリオにAを挿入します
- デプロイ前(つまり、コピーするだけ)bとcすべてのロードジェネレーターに
結果:LoadRunnerは、Aをロードジェネレーターに正常に展開し、実行します。 AはBテストへの呼び出しを行います。Bテストは、Cを呼び出します。Cはトランザクションを行います。これは、BおよびAへの実行結果を介して報告されます。任務完了。 (当然、BとCはすべてのマシンでまったく同じパスに保存する必要があり、AとBのアクション参照は、相対パスではなく絶対に基づいている必要があります)。
もちろん、BまたはCを変更することに注意する必要があります。各変更は、他のすべての負荷発電機に手動で配布する必要があります。 Aは通常の方法で更新できます(常に展開されるため)。