LoadRunner---http請求中對中文參數的處理


Loadrunner 做保險承保業務測試

1. 保險正常業務流程:保費計算---》保存---》申請核保---》核保---》繳費(出保單)

 

問題一描述

保費計算接口中,需要把車牌號作為參數,車牌號中包含中文,parament list 中中文 用gb2312編碼,直接傳參會轉為亂碼

 

解決辦法:

將參數先轉換為utf-8,再作為請求參數

 

參考代碼如下:

lr_convert_string_encoding( 
lr_eval_string("{licenseNo}"),"gb2312","utf-8","str" );

strcpy(tmp, lr_eval_string("{str}"));

lr_save_string(tmp,"licenseNo");

 

 

 

問題二描述:

腳本錄制,參數化完成后,Replay時,申請核保無法生成待核保狀態的單。所有單子都是暫存狀態。

 

解決辦法:

將申請核保系統返回結果,打印出來。

參考代碼如下:

 

//參數化

//Correlation comment - Do not change!Original value='SUCESS' Name ='ResultType'
web_reg_save_param_ex(
"ParamName=ResultType",
"LB=RESULT_TYPE:\'",
"RB=\',CODE_TYPE:",
SEARCH_FILTERS,
"Scope=All",
"RequestUrl=*/actionservice.ai*",
LAST);

web_reg_save_param_ex(
"ParamName=ResultMsg",
"LB=\"msg\":\"",
"RB=\",\"isBtnDisable\"",
SEARCH_FILTERS,
"Scope=All",
"RequestUrl=*/actionservice.ai*",
LAST);


web_submit_data("actionservice.ai_59",
"Action=http://10.15.22.14:8005/nonvhl/policyAppBizAction_submitToUnderwriting/actionservice.ai",
"Method=POST",
"TargetFrame=",
"Referer=http://10.15.22.14:8005/nonvhl/policy/universal/ply_main.jsp?prodNo=0104 璐駭緇煎悎闄\xA9&scene=PLY_APP_NEW_SCENE&bsType=1&__param_data=1",
"Snapshot=t345.inf",
"Mode=HTML",
ITEMDATA,
"Name=SERVICE_TYPE", "Value=ACTION_SERVIC", ENDITEM,
"Name=CODE_TYPE", "Value=UTF-8", ENDITEM,
"Name=BEAN_HANDLE", "Value=baseAction", ENDITEM,
"Name=ACTION_HANDLE", "Value=perform", ENDITEM,
"Name=SERVICE_NAME", "Value=policyAppBizAction", ENDITEM,
"Name=SERVICE_MOTHOD", "Value=submitToUnderwriting", ENDITEM,
"Name=DW_DATA", "Value=%3Cdata%3E%3C%2Fdata%3E", ENDITEM,
"Name=HELPCONTROLMETHOD", "Value=common", ENDITEM,
"Name=SCENE", "Value=UNDEFINED", ENDITEM,
"Name=BIZ_SYNCH_LOCK", "Value=", ENDITEM,
"Name=BIZ_SYNCH_MODULE_CODE", "Value=", ENDITEM,
"Name=BIZ_SYNCH_NO", "Value=", ENDITEM,
"Name=BIZ_SYNCH_DESC", "Value=", ENDITEM,
"Name=BIZ_SYNCH_CONTINUE", "Value=false", ENDITEM,
"Name=CUST_DATA", "Value=appNo%3D{AppNo}%23%23%23taskId%3D0%23%23%23updTm%3D{BaseUpdTm}", ENDITEM,
LAST);

lr_output_message("驗證是否關聯成功,打印ResultType: %s", lr_eval_string("{ResultType}"));

 

//中文輸出
lr_convert_string_encoding( lr_eval_string("{ResultMsg}"),
"utf-8",
"gb2312",
"str" );

 

if (atoi(lr_eval_string("{S_Count}")) != 0){ //判斷如果SUCESS字符串出現次數大於0   web_reg_find()可以計數

lr_output_message("申請核保成功!message :%s",lr_eval_string("{str}"));}

else{ //如果出現次數小於等於

lr_error_message("申請核保失敗!message :%s", lr_eval_string("{str}")); }//在日志中輸出Log on failed

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM