以前は、スクリプト契約書ソケットのLoadRunner共有する基本的な方法とルールをローカルファイルから、内容を読み取る方法を共有するために、今日の下、およびサーバーに送信されたメッセージとして、この方法は、また、仕事で出会います1つの難易度は、このように、いくつかのパラメータ化取引メッセージは、繰り返して別のファイルを読み込んだと思う、それは、トランザクションの異なるメッセージを送ることができます。
1. int型のデフォルトと同じで終わり、説明されていません。
2.アクションスクリプトの書き込み
#include「lrs.h」 アクション() { int型RC、RV; //接続を保存成功した戻り値で 、受信したデータの内容を保存//; * recvBuf文字 recvLenをint型; //受信データサイズセーブ int型のカウント数を、合計= 0 ; CHARバッファ[1000]; ロングfile_streamは、 CHAR *ファイル名= "E:/LR_date/ZHQZ/LR_scripts/baowen.txt"; IF {((=でのfopen(ファイル名、 "RB"))== NULL file_stream) (lr_error_messageを"開かない%のSができます"、filename)は、 -1を返す; } //ファイルANの終了を読むまで、 しばらく(!FEOF(file_streamを)){ // COUNTを実行している間の保守読む1000バイト COUNT =のfread(バッファ、はsizeofを(文字)、1000年、file_stream)。 lr_output_message( "%dバイトを読み込み"、カウント); // lr_output_message( "读取文件的バッファ内容:\ n%sの"バッファ)。 もし(ferror関数(file_stream)){/ *ファイルI / Oエラーをチェック* / lr_output_message( "読み取りエラーファイル%s"、ファイル名); ブレーク; } 合計+ =数えます。//実際のバイトが読み出されアップ追加 } //は最終総表示 lr_output_message(合計「=%dを読み取られたバイトの総数」)。 //ファイルストリームを閉じます (fcloseを(file_stream))場合 lr_error_message( "エラー閉鎖ファイル%s"、ファイル名); //のmemcpy(バッファ+ 271、lr_eval_string( "<CUSTID>")、8)。 lrs_save_param_ex( "socket0"、 "ユーザ"、バッファ、0、strlenを(バッファ)、NULL、 " lrs_create_socket = RC( "SOCKET0"、 "TCP"、 "RemoteHostプロパティ= 188.177.155.233:7700"、LrsLastArg); lr_start_transaction( "テスト"); //トランザクションを開始 //ソケットがデータのリクエストメッセージ(パケットの内容を送信します。 WSで) lrs_send "BUF1の"( "sOCKET0"、LrsLastArg); //はフェッチバッファBUF0とパケット送信 RV = lrs_receive( "socket0"、 "BUF2"、LrsLastArgを); //は、 応答パケットを受信 //最後のバッファとサイズの受信取得し 、lrs_get_last_received_buffer(「SOCKET0」、&recvbuf、&recvLenを) 判断、戻りデータが成功したかどうかを確認するために、/ *チェックポイントを設定し、* /それぞれの取引状況に応じ た場合(recvLen> 3。) { lr_end_transactionを( "試験"、PASS); } 他 { lr_end_transaction( "試験"、FAIL); lr_error_message( "テストが失敗したエラーメッセージ:! [%のS]"、recvbuf); } lrs_free_buffer(recvbuf)。//リークし、それ以外の場合はメモリにつながる、recvBufメモリ空間を解放 lrs_close_socket(「SOCKET0を」); 0を返します; }
上部は、ファイルの内容を読み取るために、特定のパスでスクリプトから指定されます。一部の人々は私がファイルにしたい場合は、フィールドを行う方法をパラメータ化することを言う。その後、我々はそのような例の場合と同様に、この関数のmemcpyをパラメータ化すること使用することができます(memcpyを(バッファ+ 271、lr_eval_string「<CUSTID>」)、 8); //これは、279から272のリードパケットCUSTIDプール、パラメータの8バイトの合計を呼び出すことによって、パラメトリック値です。
書かれた3 data.ws
; WSRData 2 1つの 送信BUF1 683 "<paraBuf>" RECVのBUF2 350 "" -1
ここで、アクションのパケットには、取得されたparaBuf lrs_save_param_exパラメータに相関関数によって保存され、この場合、我々は直接パラメータ名の上に呼び出すことができます。
エンディング...