LoadRunnerパフォーマンステストシステムの学習チュートリアル:スクリプトチェックポイント関数(2)

前回はLoadRunnerパフォーマンステストスクリプトの作成について説明しましたが、今回はチェックポイント機能について説明します。一緒に勉強しよう!

チェックポイント機能

一般的に使用されるチェックポイント関数には、web_find()とweb_reg_find()の2つがあります。

web_find()関数
この関数の関数は、ページ内の対応するコンテンツを見つけることです。共通パラメーターの意味は次のとおりです
。web_find( "Text Check"、//チェックポイントステップ名
"RightOf = Go to"、//検索文字列の右境界を定義
"LeftOf = page"、//検索文字列の左境界を定義
"What = Home "、// Define check string content
LAST);
この関数を使用するときは、次の問題に注意してください:
1.この関数は、HTMLモードで記録されたスクリプトのみを検索できます。
2.関数は、ページのコンテンツが表示された後に検索する必要があるため、コンテンツを検索するページの後ろに関数を記述する必要があります。
3.コンテンツチェックオプションが有効になっている必要があります。実行時設定→設定で、画像とテキストチェックを有効にするチェックボックスをオンにすると、図に示すように、検索機能が実行されません。
LoadRunnerパフォーマンステストシステムの学習チュートリアル:スクリプトチェックポイント関数(2)
4.この関数は、VBおよびJava構文ではサポートされていません。
この機能には次の2つの欠点があります
。1.実行効率が低い。
2.検索結果は返されません。たとえば、ログインに成功した仮想ユーザーの数を確認するには、この機能を実行することはできません。そのためには、さらに操作が必要です。

web_reg_find()関数

この機能は、キャッシュ内の対応するコンテンツを見つけることです。これは登録機能です。共通のパラメータと意味は次のとおりです。

web_reg_find( "Text = Welcome"、//検索するコンテンツを定義する
"SaveCount = Welcome_Count"、//検索カウント変数名を定義する
"Search = Body"、//検索範囲を定義する
LAST);
この関数は検索コンテンツに記述する必要があります通常、リクエストの前に、Web_custom_request()、web_image()、web_link()、web_submit_data()、web_submit_form()、web_url()の6つの関数の前に記述されます。
SaveCountパラメータは、コンテンツがキャッシュで見つかった回数を記録するために使用されます。したがって、実際のアプリケーションでは、このパラメータは、成功した検索の数をカウントし、検索するコンテンツが実際に見つかったかどうかを判断するためによく使用されます。
以下に例を示します。
web_reg_find( "Text = Welcome"、
"SaveCount = Welcome_Count"、
LAST);
web_submit_form( "login.pl"、
"Snapshot = t2.inf"、
ITEMDATA、
"Name = username"、 "Value = jojo"、ENDITEM、
" Name = password "、" Value = bean "、ENDITEM、
" Name = login.x "、" Value = 35 "、ENDITEM、


if(atoi(lr_eval_string( "{Welcome_Count}"))> 0){
lr_output_message( "Log on successful。");
} //カウント変数Welcome_Countの値が0より大きいかどうかを判断し、成功したログインをログに出力
else {
lr_error_message( "Log on failed"); //逆に、ログイン失敗はログに出力される
return(0);
}
web_find()とweb_reg_find()はどちらもチェックポイント関数ですが、2つの関数には違いがあります。主な違いは次のとおりです。いくつかの点:
1. 2つの関数はタイプが異なり、web_findは通常の関数であり、web_reg_findは登録済み関数です。
2. web_reg_find関数にはこの制限はありませんが、web_find関数を使用する場合はコンテンツチェックオプションをオンにする必要があります。
3. web_reg_find関数にこの制限はありませんが、web_find関数は、記録時にHTMLモードに基づくスクリプトでのみ記録できます。
4. web_find関数は返されたページのコンテンツを検索し、web_reg_find関数はキャッシュを検索します。
5. web_reg_find関数は、web_find関数よりも実行効率が高くなります。

チェックポイントを使用してトランザクション
終了を判断するチェックポイントの目的は、ビジネスが成功したかどうかを確認することです。チェックポイントを使用してビジネスの成功を確認する方法は?ビジネスが成功したかどうかを確認する必要があるのは、チェックポイントを通じてトランザクションのステータスの終了を判断することです。
チェックポイント関数のパラメーター形式は次のとおりです
。web_reg_find( "Text = Welcome"、//検索するコンテンツを定義します
"SaveCount = Welcome_Count"、//検索カウント変数名を定義します
"Search = Body"、//検索範囲
LASTを定義します) ;
その関数には非常に重要なパラメーターSaveCountがあります。このパラメーターは、チェックするデータが見つかった回数をカウントするために使用されます。ビジネスが成功したかどうかを判断する必要がある場合、チェックするデータを少なくとも1回見つける必要があります。ビジネスが正しく処理されていることを確認してください。たとえば、フライト予約システムのログイン機能は、ログインが成功したことを確認する必要があります。次に、ログインビジネスが確実に成功するように、少なくともログイン成功ページにログインユーザー名が(少なくとも1回は)表示されている必要があります。
上記の飛行機予約システムのログイン機能を例にとると、まずチェックポイントを挿入します。チェックポイントを挿入するためのスクリプトは次のとおりです:
web_reg_find( "Search = Body"、
"SaveCount = no"、//チェックされるコンテンツ(test1)回数は変数noに格納されます
"Text = test1"、//チェックされる内容はtest1
LAST);
次に、変数noの値が1以上かどうかを判断する必要があります。1以上の場合、トランザクションの終了状態がログに記録されます。 LR_PASSに設定します。それ以外の場合、終了ステータスをLR_FAILに設定します。変更されたコードは次のとおりです。
// lr_eval_string関数を使用して変数noの値を読み取ります。lr_eval_string関数によって読み取られる値は文字型であるため、//(atoi(lr_eval_string( "{no}"))の場合に比較できるように整数型に変換する必要があります)> = 1){lr_end_transaction( "Login"、LR_PASS);} else {lr_end_transaction( "Login"、LR_FAIL);}
場合によっては値が見つかるため、変数noの値は1以上です複数あるため、通常は1以上かどうかを判断します。
変更された完全なコードは次のとおりです:
web_submit_data( "login.pl"、
"Action = http://127.0.0.1:1080/WebTours/login.pl "、
"Method = POST"、
"RecContentType = text / html"、
" Referer = http://127.0.0.1:1080/WebTours/nav.pl?in=home "、
" Snapshot = t9.inf "、
" Mode = HTTP "、
ITEMDATA、
" Name = userSession "、" Value = {WCSParam2 } "、ENDITEM、
"

"Name = JSFormSubmit"、 "Value = off"、ENDITEM、
"Name = login.x"、 "Value = 46"、ENDITEM、
"Name = login.y"、 "Value = 6"、ENDITEM、
LAST);
web_concurrent_start(NULL);
web_url( "nav.pl_2"、
"URL = http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home "、
"Resource = 0"、
"RecContentType = text / html"、
"Referer = http://127.0.0.1:1080/WebTours/login.pl "、
" Snapshot = t10.inf "、
" Mode = HTTP "、
LAST);
web_reg_find( "Search = Body"、
"SaveCount = no"、
"Text = test1"、
LAST);
web_url( "login.pl_2"、


"RecContentType = text / html"、
"Referer = http://127.0.0.1:1080/WebTours/login.pl "、
"Snapshot = t11.inf"、
"Mode = HTTP"、
LAST);
web_concurrent_end(NULL);
web_concurrent_start(NULL);
web_url( "flights.gif"、
"URL = http://127.0.0.1:1080/WebTours/images/flights.gif "、
"Resource = 1"、
"RecContentType = image / gif"、
"Referer = http:/ /127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home "、
" Snapshot = t12.inf "、
LAST);
web_url( "itinerary.gif"、
"URL = http://127.0.0.1:1080/WebTours/images/itinerary.gif "、


http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home "、
" Snapshot = t13.inf "、
LAST);
web_url(" in_home.gif "、
" URL = http://127.0 .0.1:1080 / WebTours / images / in_home.gif "、
" Resource = 1 "、
" RecContentType = image / gif "、
" Referer = http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in = home "、
" Snapshot = t14.inf "、
LAST);
web_url(" signoff.gif "、
" URL = http://127.0.0.1:1080/WebTours/images/signoff.gif "、
" Resource = 1 " 、
「RecContentType = image / gif」、
「Referer = http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in = home "、
" Snapshot = t15.inf "、
LAST);
web_concurrent_end(NULL);
if(atoi(lr_eval_string( "{no}"))> = 1){
lr_end_transaction( "Login"、LR_PASS);
}
else {
lr_end_transaction( "Login"、LR_FAIL);
}
web_url( "SignOff Button"、
"URL = http://127.0.0.1:1080/WebTours/welcome.pl?signOff=1 "、
"Resource = 0"、
"RecContentType = text / html"、
"Referer = http ://127.0.0.1:1080 / WebTours / nav.pl?page = menu&in = home "、
" Snapshot = t16.inf "、
" Mode = HTTP "、
LAST);

おすすめ

転載: blog.51cto.com/14645850/2535096