當前位置:首頁 » 編程軟體 » lr腳本亂碼

lr腳本亂碼

發布時間: 2023-10-04 13:16:22

㈠ lr錄制腳本出現亂碼,怎麼解決

一、錄制回放中文亂碼
我錄制登陸的腳本,用戶名中出現中文,回放的時候總是提示登陸失敗。如下圖:
5
圖1
LR回放中文亂碼
解決中文亂碼可以在錄制的時候在Virtual
User
Gen的
Tools->Recoding
Options
->
Advanced
->
Support
charset
->
UTF-8。重新錄制後中文亂碼問題得到解決。
二、整合腳本中文亂碼
錄制增強(參數化,關聯,檢查點,事務)腳本後決定將幾個腳本整合在一起。於是新建了一個空的腳本,將登陸退出公用操作分別放在vuser_init和vuser_end中,其他操作放在各自的Action中。整理完成回放後又出現中文亂碼。為解決這個問題,最關鍵的是要把本地GBK編碼的漢字轉換成UTF-8編碼格式的信息,為此我們引進loadrunner自帶的編碼函數lr_convert_string_encoding。
int
lr_convert_string_encoding
(
const
char
*sourceString,
const
char
*fromEncoding,
const
char
*toEncoding,
const
char
*paramName);
該函數有4個參數,含義如下:
sourceString:被轉換的源字元串。
fromEncoding:轉換前的字元編碼。
toEncoding:要轉換成為的字元編碼。
paramName:轉換後的目標字元串。
實踐一:
1
2
3
4
5
6
7
lr_convert_string_encoding("登陸賬號",LR_ENC_SYSTEM_LOCALE,
LR_ENC_UTF8,
"Account");
web_submit_data("login.quick",
……
"Name=account",
"Value={Account}",
ENDITEM,
……
LAST);
回放腳本的時候依然報錯。查看lr_convert_string_encoding的解釋,它會在其轉換的字元串末尾加上\x00。在C語言中\X00是一個字元串的結束,而正是這個\x00的存在導致了腳本回放失敗。
實踐二:
1
2
3
4
5
6
7
8
9
10
11
char
tmp[100];
lr_convert_string_encoding("登陸賬號",LR_ENC_SYSTEM_LOCALE,
LR_ENC_UTF8,
"Account");
strcpy(tmp,lr_eval_string("{Account}"));
lr_save_string(tmp,"Account");
web_submit_data("login.quick",
……
"Name=account",
"Value={Account}",
ENDITEM,
……
LAST);
通過strcpy和lr_save_string的處理屏蔽\x00的影響,測試結果正常

㈡ lr11回放腳本時,出現Action.c(298): Error -26612: HTTP Status-Code=500

26612一般是重復數據上傳導致的
也就是說 有可能你的系統不接受相同的數據重復上傳
如果你業務流程是【打開商品頁面】-【點擊購買】-【登陸】-【提交訂單】

很有可能是購買的商品比較特殊 不允許同一個IP重復購買多次
如果是這種情況 使用IP欺騙可以解決
如果不是 那我就不清楚了 你得研究一下業務流程 究竟是什麼數據不允許重復提交的

而且我覺得這個問題很可能是與特殊業務規則相關的 應該不是登錄問題
因為如果是登錄關聯問題 那就不會是這個錯誤碼 而應該是27987

熱點內容
說話加密 發布:2025-01-31 14:02:28 瀏覽:552
android倉庫管理系統 發布:2025-01-31 14:02:27 瀏覽:700
batsql語句 發布:2025-01-31 14:00:13 瀏覽:733
沈陽加密狗 發布:2025-01-31 13:54:58 瀏覽:705
聯想伺服器怎麼裝windows7 發布:2025-01-31 13:54:52 瀏覽:874
java二級考試歷年真題 發布:2025-01-31 13:50:31 瀏覽:171
編程一刻 發布:2025-01-31 13:36:44 瀏覽:585
編程小草出土 發布:2025-01-31 13:33:27 瀏覽:579
如何設置伺服器屏蔽你的ip 發布:2025-01-31 13:25:58 瀏覽:243
扣扣的獨立密碼是什麼密碼 發布:2025-01-31 13:23:42 瀏覽:132