1. 程式人生 > >指令碼錄製優化

指令碼錄製優化

1.指令碼的錄製

Start Record  選擇協議web/http  新增url

首頁放到初始化裡 init

將某些操作放到新的Action裡面(在錄製的小視窗改變init->action 或者new action)

將登出部分放到 vuser_end

Action的劃分很有必要 (業務模型)

vuser_init  只執行一次

into_login

submit_login     web_submit_data 提交資料 引數化

vuser_end  只執行一次

2.指令碼的回放

錄製完成後回放 首先編譯 compile   No error detected(發現)

單步執行 F10  vuser->step by step

Note: LoadRunner是用底層事件流方式進行壓力測試而qtp是記錄每個事件  因此即使LoadRunner的Result是pass 結果也不一定pass

3.指令碼的優化

有的時候action的劃分的 不是自己想要的 所以需要指令碼的優化

1>單獨的業務 需要插入事物點 (想衡量的業務點 如登入成功需要多少s)

2>引數化  ①指令碼簡潔②更真實的模擬使用者的情況

3>集合點 (壓力較大) 提交(更真實的模擬使用者 如10個使用者一起點選)

4>檢查點 如何檢查使用者登入是否成功(指令碼)需插入文字檢查點

優化的方式①語句編寫②介面的按鈕

一、登入成功頁面 新增事物點

  怎樣插入事物點

  ①函式直接寫

  ②工具欄上新增 Insert Start Transaction(Ctral+T)/ End Transaction(Ctrl+D)

  ③Insert->start transaction

新增事物點-> 衡量業務所用的時間

lr_start_transaction("confirm message"); /*該事物點的作用是統計登入成功反饋資訊*/

lr_end_transaction("confirm page",LR_AUTO);

二、新增集合點(在業務操作的前面做 如:提交 登入)  web_submit_data前

  怎樣新增集合點

  ①函式

  ②Insert-> Rendezvous

lr_rendezvous("login_rendezvous");/*設定登入提交操作的集合點*/

三、設定引數化

      1>新建引數①工具欄 Open parameter list②Insert->New Parameter

    New parameter ->username type:table addrow->username

  2>右鍵(想引數化的地方 如使用者名稱)->use existing parameters->

 

怎樣輸出引數化的使用者名稱

利用日誌輸出的方法獲取使用者名稱

在事物結束點後新增函式lr_log_message(" ", );

lr_log_message("使用者名稱:%s",lr_eval_string("{username}"));

Note1.在run-time settings設定迭代次數 Number of Iterations ->2(有幾個使用者名稱就設定為幾)

       2.使用者名稱aaa不存在 但可以執行成功 是因為不具備校驗的功能

          指令碼通過不一定代表指令碼是真正的執行了

四、設定檢查點

  作用:在實際的大壓力中登入不正常 設定檢查點可以檢查登入的狀態(如用錯誤的使用者名稱 系統未檢測出)

  

  文字檢查點

  web_find 介面檢查

  web_reg_find 語言程式碼檢查