0

を使用して別のテストAからアクションXを呼び出す場合LoadAndRunAction、呼び出されたアクションで収集されたトランザクション時間は正しく報告されますか?

つまり、そのような呼び出し元スクリプトAをLoadRunnerシナリオに挿入した場合、LoadRunnerの結果レポートには、テストAで測定されたトランザクション時間とアクションXの両方が含まれますか?

正直なところ、私は怠惰すぎてこのアドホックをテストできないので、ただ尋ねています。

背景: QTPスクリプトを使用してGUIユーザーアクティビティをシミュレートするLRシナリオがいくつかあります。これらのQTPスクリプトは非常に大きく、すべての負荷ジェネレーターに何度もデプロイされます。アイデアは、大きなQTPテストを手動で一度展開し、大きなテストを呼び出すコンパクトなQTPテストを作成し、そのコンパクトなテストをLRシナリオに挿入することです。

4

1 に答える 1

1

さて、私は自分で答えを見つけたので、それらを共有するのは公正です:

LoadAndRunActionトランザクション時間が正しく報告されない場合、呼び出し元は呼び出し先で測定されたトランザクションを確認できません。

ただし、従来のアクション呼び出しを使用して、ターゲットアクションを呼び出すことができます。ただし、LoadRunner Controllerが呼び出し元と呼び出し先の間の依存関係を混乱させ、存在しない負荷ジェネレーターに呼び出し元のものをデプロイしようとするため、これは最も些細な呼び出し先を除いて機能しません。

私たちの解決策は、すべて「外部アクションへの呼び出しの挿入」を使用して、「実際の」QTPテストCを呼び出すだけの2番目のQTPテストBを呼び出すダムQTP呼び出し元スクリプトAを作成することでした。あれは:

  • すでにCを保持しているQTPマシンを使用してAとBを開発します
  • AとBをコントローラーにコピーします
  • シナリオにAを挿入します
  • BとCをすべての負荷ジェネレーターに事前展開(つまりコピーするだけ)

結果:LoadRunnerはAをロードジェネレーターに正常にデプロイし、実行します。AはBテストを呼び出し、次にCを呼び出します。Cはトランザクションを実行します。トランザクションは、BおよびAを介してシナリオの実行結果に報告されます。任務完了。(当然、BとCはすべてのマシンでまったく同じパスに格納する必要があり、AとBのアクション参照は相対パスではなく絶対パスに基づいている必要があります)。

もちろん、BまたはCの変更には注意が必要です。各変更は、他のすべての負荷ジェネレーターに手動で配布する必要があります。Aは通常の方法で更新できます(常に展開されるため)。

于 2011-01-04T09:16:38.477 に答える