第一次手寫Loadrunner測試腳本


第一次手寫性能測試腳本,過程比較虐:

1、輔助工具:抓包工具burpsuite,觀察請求及響應數據
2、了解Loadrunner中的一個模擬請求的函數:可以模擬get和post
       web_submit_data("IsAttenderMobileOrEmailExist", 
             "Action=O網頁鏈接", 
             "Method=POST", 
             "TargetFrame=", 
             "RecContentType=application/x-www-form-urlencoded; charset=UTF-8", 
             "Referer=O網頁鏈接", 
             "Snapshot=t23.inf", 
             "Mode=HTML", 
             ITEMDATA, 
             "Name=ASP.NET_SessionId", "Value={ASP.NET_SessionId}", ENDITEM, 
             "Name=__RequestVerificationToken_L2NvbmZlcmVuY2U1", "Value={__RequestVerificationToken_L2NvbmZlcmVuY2U1}", ENDITEM, 
             "Name=__RequestVerificationToken", "Value={__RequestVerificationToken}", ENDITEM, 
             "Name=No", "Value=MEETING0920", ENDITEM, 
             "Name=SiteId", "Value=987", ENDITEM, 
             "Name=Mobile", "Value=13001051551", ENDITEM, 
             "Name=Email", "Value=jing.tang@ccwonline.com", ENDITEM, 
             LAST);
3、手動關聯:根據抓包工具獲取到的請求參數,與工程師確認服務器自動返回參數,然后手動關聯
   (1)關聯函數:
           web_reg_save_param("__RequestVerificationToken_L2NvbmZlcmVuY2U1",
                "LB=__RequestVerificationToken_L2NvbmZlcmVuY2U1\=",
                "RB=;",
                "Ord=1",
                "RelFrameId=1",
                "Search=ALL",
                LAST);
        通過postman查看響應數據,確定關聯函數中的左右邊界值,如果邊界值內容中存在雙引號",需要對其轉義,使用反斜杠\"
        一開始是從網上搜了個關聯函數,運行后報錯Action.c(6): Error -27216: Invalid argument (number 4)   [MsgId: MERR-27216],這個意思是這個函數中的第4個參數無效,結果仔細回憶,原來拷貝的函數是web_reg_save_param_ex,后來手動將_ex刪掉,而這兩個函數的參數名是不一樣的
    (2)關聯函數位置一定要放到請求服務器返回關聯參數的函數前面
    (3)關聯三個參數,只有一個參數能保存,但替換時就丟失,日志報如下警告:Warning: The string '__RequestVerificationToken' with parameter delimiters is not a parameter.
         解決辦法:將web_reg_save_param 改為 web_reg_save_param_ex
           web_reg_save_param_ex(
                "ParamName=__RequestVerificationToken",
                "LB=<input name\=\"__RequestVerificationToken\" type=\"hidden\" value\=\"",
                "RB=\" />",
                LAST);
4、關聯沒問題后,運行腳本,還是報錯,Action.c(102): To location "O網頁鏈接"   [MsgId: MMSG-26693]
   結果通過被測程序的日志發現,腳本的函數中少了個post參數address,添加后正常運行
5、重復運行后,關聯函數找不到要保存的值,報錯如下:Error -26377: No match found for the requested parameter "__RequestVerificationToken_L2NvbmZlcmVuY2U1". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 50000 bytes, use web_set_max_html_param_len to increase the parameter size   [MsgId: MERR-26377]
   結果發現是重復注冊的問題,如果重復注冊,服務器就不返回__RequestVerificationToken_L2NvbmZlcmVuY2U1,所以找不到,刪除數據后,重新執行ok

6、腳本終於不報錯了,運行完一看數據庫,中文全是亂碼,但是腳本中不是,搜索得出:腳本編輯器中的編碼與運行時系統的數據編碼不同所導致
   解決辦法:Run-time Settings中,找到 Preferences >> Option >> Convert form/to UTF-8,按需選擇,YES

到此,算是一個里程碑了,加油!!!


免責聲明!

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



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