LOADRUNNER之漢字編碼轉換及\X00問題
阿新 • • 發佈:2019-01-08
我們在使用loadrunner做效能測試的時候經常會出現一些URL編碼問題,如當引數中存在中文的時候
"Name=user", "Value=孟林", ENDITEM,
抓包的時候可以看到&user=%e5%ad%9f%e6%9e%97,然而我們在loadrunner中的指令碼日誌會發現並不是這樣,其原因是測試指令碼中漢字的編碼是ACSII而網站中漢字的編碼是UTR-8的形式,從而導致了指令碼執行的錯誤。
那出現了這樣的問題我們該如何是好呢?
我們可以在loadrunner中使用lr_convert_string_encoding()這個本身自帶的函式對漢字的編碼進行轉換。
//將引數Param中儲存的值轉換為UTF-8的形式 lr_convert_string_encoding(lr_eval_string("{Param}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8 ,"user");
然而這個時候我們會發現為什麼我的引數後面會有一個\x00?
不要驚慌,這個\x00是文字的一個結尾符,我們可以用下面這段程式碼將其去掉
//因為使用上面的函式轉換的時候會再字串後面加上\x00,所以需要使用以下的程式碼將其去掉 lr_save_string(lr_eval_string("{user}"),"user"); //進行呼叫 "Name=user", "Value={user}", ENDITEM,