qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          LoadRunner錄制Socket協議腳本亂碼調研

          最近在測試過程中使用LoadRunner錄制Socket協議腳本,在data.ws中,中文參數顯示為亂碼,直接影響到參數化等操作,導致壓力測試無法繼續下去。本文對錄制腳本的亂碼問題進行了相關調研。

            使用LoadRunner錄制的腳本如下:

            通過在網上搜索資源,查詢到幾種解決方案如下:

            ■ 方法一:通過字符串編碼轉換的函數修改腳本中的亂碼;

            通過一個字符串編碼轉換的函數lr_convert_string_encoding

            在LoadRunner中,為我們提供了一個字符串編碼轉換的函數lr_convert_string_encoding,它可以把字符編碼轉換為UTF-8格式。

            測試組人員通過對比發現,這個函數是在錄制的腳本中出現亂碼時使用的,例如:

          web_custom_request("CALL-H001I",
          "EncType=text/xml; charset=UTF-8",
          "BodyBinary=CALLH001I1040浣忔埧01
          鏆傛棤鍙風爜1
          11000000
          1000000.00A110102641122043#1闇嶈景榫"
          """x99"
          "10001鍘﹂棬100

            但本次遇到的問題是在錄制結束后,data.ws文件的中文參數顯示為亂碼。問題仍然得不到解決。

            ■ 方法二:錄制選項中的Support charset選中UTF-8再重新錄制

            這種方法是在錄制前,將錄制選項的Support charset選中UTF-8后進行錄制,這種方法主要適用于WEB頁面錄制時的場景。在錄制使用Socket協議時,錄制選項中沒有Support charset,導致問題也不能解決。

            ■ 方法三:更改服務器操作系統的語言

            將操作系統語言修改為英語,重啟機器后,重新錄制腳本,亂碼問題即可解決。

            但實際情況是,將操作系統語言改為英語后,重啟機器,重新錄制腳本,亂碼只是變換了一種形式而已(且文件名稱或目錄中有中文時會顯示成“??”),問題仍然無法解決。

            ■ 最終解決方法

            網上也有資料說這個問題無法解決(汗!!!),因為錄制Socket協議是LoadRunner直接監控TCP這一層的數據流,任何數據,雖然在最頂層應用層時是可見數據,但是一旦到了TCP層,均被封包成二進制。

            所以呢,看來要用LoadRunner來測試Socket,還是得通過手寫腳本的方式來實現。方法呢,其實很簡單。看下一篇吧!

          posted on 2013-04-03 10:02 順其自然EVO 閱讀(480) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄loadrunner

          <2013年4月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宜丰县| 阿拉善左旗| 泌阳县| 塔河县| 颍上县| 读书| 临清市| 大化| 罗源县| 米泉市| 休宁县| 于都县| 文昌市| 蓝田县| 曲周县| 磴口县| 闽侯县| 无极县| 乌兰察布市| 吉安市| 乌鲁木齐市| 汉中市| 郁南县| 禹城市| 泗水县| 云梦县| 赤城县| 祁阳县| 五原县| 益阳市| 侯马市| 永登县| 涡阳县| 化州市| 延安市| 鸡东县| 扶沟县| 柳州市| 双流县| 千阳县| 六盘水市|