我用loadrunner錄制,腳本里的亂碼一直沒有解決。看到網(wǎng)上很多貼子。 采用的方法:1、第一步:去lr 的vugen的Tools -> Recoding Options -> Advanced -> Support charset -> UTF-8 選上。 2、新建腳本--->選擇協(xié)議(Http)-->選項-->高級-->選擇“支持字符集”并點選“UTF-8”; 在回放腳本之前:Vuser-->運行時設置-->瀏覽器-->瀏覽器仿真-->更改-->使用瀏覽器-->語言下來選擇 “中文(中國)”; 3、采用“首先,我們直接用正常的字去參數(shù)化,這里只舉其中的一個例子來說明,比如<assuname>這個字段,我們用參數(shù)值“汽車”直接在腳本中替換“浣忔埧”,腳本回放失敗。 然后就想到會不會是所有的中文字段都需要用才行呢?于是把所有的亂碼都用簡體字替換,腳本回放還是失敗。 通過以上的兩點試驗,說明直接參數(shù)化的方法是行不通的,我們必須另找辦法。 在LoadRunner中,為我們提供了一個字符串編碼轉(zhuǎn)換的函數(shù)lr_convert_string_encoding,用法如下:
int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);”此貼的辦法。 都有沒成功。大家有沒有相似的問題呀,還有什么別的辦法嗎。
我根據(jù)方法修改的代碼如下所示: web_add_header("Content-Type", "text/xml; charset=UTF-8"); lr_convert_string_encoding(lr_eval_string("{NewParam_1}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str"); strcpy(tmp,lr_eval_string("{str}")); lr_log_message("str is %s",tmp);
web_submit_data("longOpenAction!create.ilf", "Action=http://10.19.69.23:7082/intel/longOpenAction!create.ilf?", "Name=ciropenreqs[1].zmRegion", "Value=鏋e簞", ENDITEM, "Name=ciropenreqs[1].zmUsage", "Value=绔\xAF\xE5眬", ENDITEM, "Name=ciropenreqs[1].circuitNumber", "Value=2", ENDITEM, "Name=task.procDefName", "Value=%s", ENDITEM, "Name=task.actCreateTime", "Value=", ENDITEM,
%s是我想要參數(shù)化的地方。但結(jié)果就成了%s。并沒有將NewParam_1的內(nèi)容代進去。先問各位應該怎么將表示才能將其跟NewParam_1的內(nèi)容表示出來呀。 |
|
|
|
|
|
|
wangleis18 當前離線
- UID
- 85734
- 帖子
- 16
- 精華
- 0
- 積分
- 145
- 綜合技術(shù)指數(shù)
- 145
- 生活情趣指數(shù)
- 0
- 鮮花
- 0
- 雞蛋
- 0
- 閱讀權(quán)限
- 10
- 在線時間
- 18 小時
- 注冊時間
- 2006-11-1
- 最后登錄
- 2012-11-27
 
|
2#
發(fā)表于 2008-5-7 17:05 | 只看該作者
在“Tools->Recording Options->Advanced”中選中“Support charset”,再選“UTE-8”,點擊“OK”就可以了! |
|
|
|
|
|
|
sj_1625 當前離線
- UID
- 30360
- 帖子
- 81
- 精華
- 0
- 積分
- 181
- 綜合技術(shù)指數(shù)
- 179
- 生活情趣指數(shù)
- 2
- 鮮花
- 3
- 雞蛋
- 0
- 閱讀權(quán)限
- 10
- 在線時間
- 100 小時
- 注冊時間
- 2005-11-1
- 最后登錄
- 2013-1-16
 
|
3#
發(fā)表于 2008-5-7 17:55 | 只看該作者
知道怎么用了,在lr_convert_string_encoding(lr_eval_string("{NewParam_1}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str"); strcpy(tmp,lr_eval_string("{str}")); lr_log_message("str is %s",tmp); 后面加 lr_save_string(tmp,"sorvalue"); 將:Name=task.procDefName", "Value=%s", ENDITEM, 改為:Name=task.procDefName", "Value=sorvalue", ENDITEM, 即可。 嘿嘿,我也是在網(wǎng)上搜到的,不過真的很管用呀。 |
|
|
|
|
|
|
ebuluo 當前離線
- UID
- 74877
- 帖子
- 306
- 精華
- 0
- 積分
- 218
- 綜合技術(shù)指數(shù)
- 217
- 生活情趣指數(shù)
- 1
- 鮮花
- 1
- 雞蛋
- 0
- 閱讀權(quán)限
- 10
- 在線時間
- 325 小時
- 注冊時間
- 2006-8-25
- 最后登錄
- 2013-5-23
 
|
4#
發(fā)表于 2008-5-7 18:04 | 只看該作者
不錯,我關(guān)注這個問題也有一段時間了,終于看到一個能實際解決的方案了。原來改utf8也是沒有什么效果。 |
|
我測我測我測測測,思考思考不斷的思考!
|
|
|
|
|
demit1 當前離線
- UID
- 80480
- 帖子
- 39
- 精華
- 0
- 積分
- 176
- 綜合技術(shù)指數(shù)
- 176
- 生活情趣指數(shù)
- 0
- 鮮花
- 0
- 雞蛋
- 0
- 閱讀權(quán)限
- 10
- 在線時間
- 30 小時
- 注冊時間
- 2006-9-30
- 最后登錄
- 2011-11-8
 
|
5#
發(fā)表于 2008-5-7 22:24 | 只看該作者
lr_convert_string_encoding(lr_eval_string("{NewParam_1}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str");
web_submit_data("longOpenAction!create.ilf", ...... "Name=task.procDefName", "Value={str}", ENDITEM, "Name=task.actCreateTime", "Value=", ENDITEM,
| |
|