LoadRunner文字列符号化変換関数:lr_convert_string_encoding
3353 ワード
最近では、スクリプトのデバッグ中にLoadRunner文字列符号化変換関数lr_が複数回使用されています.convert_string_encoding、ここで簡単にまとめて、後で参考にします~
1.関数実装
Loadrunnerは関数を持っていて、直接使えばいいです.
lr_convert_string_encoding
sourceString
The string to convert
fromEncoding
The encoding of the sourceString
toEncoding
The encoding to convert of the string saved in parameter paramName
paramName
The name of the parameter in which the destination string will be saved
対応する中国語パラメータの解釈:
sourceString:変換されたソース文字列.
fromEncoding:変換前の文字符号化.
toEncoding:変換する文字コード.
paramName:変換後のターゲット文字列.
lr_convert_string_Encoding converts a string encoding betweenthe following encodings:System locale,Unicode,and UTF-8.The function savesthe result string,including its terminating NULL,in the parameter paramName.上記の説明によると、この関数は文字列を3つの符号化フォーマットで変換するだけなので、実際には機能も限られています.しかし、私たちがよく見ているシーンにも適用できます.
定数と値の対応関係は次のとおりです.
Possible values for 'fromEncoding'and 'toEncoding' :
Constant
Value
LR_ENC_SYSTEM_LOCALE
NULL
LR_ENC_UTF8
"utf-8"
LR_ENC_UNICODE
"ucs-2"
2.Loadrunnerでの使用
URLリクエストの返信メッセージでは、中国語の返信が符号化されている場合があり、識別しにくい場合があります.この場合、符号化変換関数を使用して、スクリプトのデバッグを容易にすることができます.
1.関数実装
Loadrunnerは関数を持っていて、直接使えばいいです.
lr_convert_string_encoding
//C Language
int lr_convert_string_encoding( const char *sourceString, const char *fromEncoding,const char *toEncoding, const char *paramName);
公式パラメータ説明:sourceString
The string to convert
fromEncoding
The encoding of the sourceString
toEncoding
The encoding to convert of the string saved in parameter paramName
paramName
The name of the parameter in which the destination string will be saved
対応する中国語パラメータの解釈:
sourceString:変換されたソース文字列.
fromEncoding:変換前の文字符号化.
toEncoding:変換する文字コード.
paramName:変換後のターゲット文字列.
lr_convert_string_Encoding converts a string encoding betweenthe following encodings:System locale,Unicode,and UTF-8.The function savesthe result string,including its terminating NULL,in the parameter paramName.上記の説明によると、この関数は文字列を3つの符号化フォーマットで変換するだけなので、実際には機能も限られています.しかし、私たちがよく見ているシーンにも適用できます.
定数と値の対応関係は次のとおりです.
Possible values for 'fromEncoding'and 'toEncoding' :
Constant
Value
LR_ENC_SYSTEM_LOCALE
NULL
LR_ENC_UTF8
"utf-8"
LR_ENC_UNICODE
"ucs-2"
2.Loadrunnerでの使用
URLリクエストの返信メッセージでは、中国語の返信が符号化されている場合があり、識別しにくい場合があります.この場合、符号化変換関数を使用して、スクリプトのデバッグを容易にすることができます.
Action()
{
int compare=1;
web_reg_save_param("payRespBody",
"LB=",
"RB=",
"NotFound=ERROR",
"Search=Body",
LAST);
web_reg_save_param("responseMsg",
"LB=responseMsg\":\"",
"RB=\",",
"NotFound=ERROR",
"Search=All",
LAST);
web_custom_request("pay.htm",
"URL=http://xxx/a/b/pay.htm?x={orderId}&pwd=x",
"Method=POST",
"TargetFrame=",
"Resource=0",
"RecContentType=application/json",
"Referer=",
"Mode=HTML",
"EncType=application/x-www-form-urlencoded; charset=UTF-8",
LAST);
lr_convert_string_encoding(lr_eval_string("{responseMsg}"),"utf-8",NULL,"msg");// responseMsg
lr_output_message(" payRespBody----%s",lr_eval_string("{payRespBody}"));
lr_convert_string_encoding(lr_eval_string("{payRespBody}"),"utf-8",NULL,"bodymsg"); // body
compare=strcmp(lr_eval_string("{msg}")," ");// responseMsg ,
if(compare==0){
lr_end_transaction("3-- ",LR_PASS);
}
else{
lr_end_transaction("3-- ",LR_FAIL);
lr_output_message(" orderId:----%s,responseMsg----%s",lr_eval_string("{orderId}"),lr_eval_string("{msg}"));//
lr_output_message(" payRespBody----%s",lr_eval_string("{bodymsg}"));// ,
}
return 0;
}
と の を すると、 、 が され、スクリプトデバッグとスクリプト の めと が になることがわかります.
Action.c(x): payRespBody----{"responseMsg":";
Action.c(y): payRespBody----{"responseMsg":" い ","success":false}