您好,登錄后才能下訂單哦!
需求要求:這兩天試用Windows sockets 協議編寫腳本,突然說要測試應用服務壓力,后面與開發協商是用http協議之后,沒有腳本可以錄制,從loadrunner自帶函數查可以使用web_custom_request函數編寫,之后通過火狐插件:HttpRequester參考,再加網上前輩提供幫助,之后編寫如下腳本:
測試并且通過。
發現問題,在loadrunner中壓測能返回報文,并且查找條件也能正確。但發現數據庫查出結果,中文出現亂碼;希望誰能指點下;
Action()
{
char* Recode="000000"; //增加判斷正確條件
char* WebRecode; //定義關聯函數取值
web_reg_save_param("yanz",
"LB=<RetCode>",
"RB=</RetCode>",
LAST);
web_reg_find("Text=<RetCode>000000</RetCode>",
LAST);
lr_start_transaction("ABC_試算");
web_custom_request("web_custom_request",
"URL=【ip】", //報文IP地址
"METhod=post",
"Resource=0",
"Referer=",
"Mode=HTML",
"RecContentType=application/json",
"EncType= text/xml;charset=UTF-8",
"Body=<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
//報文內容
"<ABCB2I>"
"<Header> "
"<TransDate>20151102</TransDate> "
"<TransTime>140854</TransTime>
"<TransCode>1002</TransCode> "
"<ProvCode>11</ProvCode "
"<SerialNo>111113396600{SerNn}</SerialNo> "
........................
........................
"</App>"
"</ABCB2I>", LAST);
WebRecode = lr_eval_string( "{yanz}" ) ;
if(strcmp(Recode,WebRecode)==0) //試用判斷函數
{
lr_end_transaction("ABC_試算", LR_PASS);
}
else
{
lr_end_transaction("ABC_試算", LR_FAIL);
lr_output_message( "We are on iteration #%s", lr_eval_string( "{yanz}" ) ); }
return 0;
}
//字符串比較判斷。
if(strcmp(lr_eval_string("{www}"),"登陸成功")==0)
{
lr_end_sub_transaction("login",LR_PASS);
}
else
{
lr_end_sub_transaction("login",LR_FAIL);
}
注:
extern
int
strcmp
(
const
char
*s1,
const
char
*s2);
當s1<s2時,返回為負數
當s1=s2時,返回值= 0
當s1>s2時,返回正數
即:兩個字符串自左向右逐個字符相比(按ASCII值大小相比較),直到出現不同的字符或遇'\0'為止。如:
"A"<"B" "a">"A" "computer">"compare"
特別注意:strcmp(const char *s1,const char * s2)這里面只能比較字符串,即可用于比較兩個字符串常量,或比較數組和字符串常量,不能比較數字等其他形式的參數。
ANSI標準規定,返回值為正數,負數,0 。
謝謝小強老師的借口測試視頻,謝謝前輩們的指點。
愿大家能平安健康如意;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。