Loadrunner經常使用操做

  LoadRunner 參數化css

爲何須要參數化?web

大衆理解:爲了更加真實的模擬用戶操做數據庫

底層原理: 1,應用服務,數據庫會校驗該值的惟一性(unique key)windows

          2,爲了不數據庫的查詢緩存對性能測試結果的影響瀏覽器

  LoadRunner 關聯緩存

1、爲何須要作關聯?服務器

1,回放的時候業務沒有成功session

2,服務器返回一個動態變化的值,而且下次請求時須要用到這個動態變化的值併發

3,提交請求的時候,服務器會校驗這些值的合法性;它們之間有依賴關係jsp

2、關聯步驟:

1,找到服務器返回的動態變化的值

2,保存爲一個參數

3,替換

3、哪些值須要作關聯?

1, 服務器返回的動態變化的值,而後提交的時候校驗該值的合法性(跟數據不打交道)

A,驗證碼(圖片驗證碼、手機/短信驗證碼、郵箱驗證碼)

圖片驗證碼 關聯不到裏面的字符串(須要知道字符串從哪一個jsp 裏取出來的)

手機/短信驗證碼、郵箱驗證碼  驗證碼都是加密之後的

解決方法:1,讓開發設置萬能驗證碼;2,去掉驗證碼(通常不建議)

B,Session ,token 

C,時間戳

D,看起來沒有任何意義的特殊字符串,還出如今你的請求裏而且還不是你本身輸入的字符串  

2, 跟數據庫打交道的(增刪改查)

A.Insert  插入的值跟其餘數據有關聯關係-經過一系列ID 創建這種關係

特徵: 自增主鍵   Xxid   int 類型

Insert into 帖子表 values (uid,title,msg,posttime,fid)

Insert into 回帖表 values(tid,uid,msg,posttime,fid)

B.Delete  補全where id 類條件

Delete from table where xxid = ?? and xxid =?? And

                      In  (,,)

                      Not in (,,)

 between < >

C. Update 補全where 後面的 id類條件

Update table   set      where  同上

D .  select  補全where 後面的 id 類條件

select  字段 from 表 where 同上

實操: 淘寶網註冊-> 登陸-> 綁定收件信息->修改暱稱->刪除一條收件地址->瀏覽商品->添加到購物車->支付->查看訂單-> 取消訂單-> 撤銷申請-> 確認收貨->評論-> 追加評論

註冊:參數化 手機號 (惟一性校驗)關聯:手機驗證,session/token

登陸:參數化 手機號(惟一性校驗)關聯:session /token

綁定收件信息:關聯uid

修改暱稱: 關聯uid

刪除一條收件地址:關聯uid ,收件信息id

瀏覽商品:參數化 商品id

添加到購物車:關聯uid, 商品id 店鋪 id

支付:關聯uid ,訂單id

查看訂單: 關聯uid ,訂單id

取消訂單: 關聯uid ,訂單id

撤銷申請: 關聯uid ,id(訂單id 或者工單id )

   確認收貨:關聯uid ,訂單id

   評論:關聯uid,訂單id ,店鋪id,商品id

   追加評論:關聯uid , 訂單id ,評論id

4、關聯函數的位置

關聯函數放在哪一個函數的前面,只會做用於它的下一個請求,因此關聯函數的位置很重要

Insert  操做後緊接一條select 操做,將id 查出來以便後續操做--關聯參數放在insert 以前

5、關聯函數的寫法

A,response 右鍵直接關聯 (位置必定對)

B, insert -new step

C,Data returned by server (tree 視圖中沒有內容的時候)

D, 頁面源代碼

E,抓包

Fiddler 4 操做

Fiddler hide if url contains :REGEX:\.(js|css|js|png|gif|ico|gif\?.*|css\?.*|js\?.*|png\?.*)$

Any process  點擊拖拽到瀏覽器上,則只記錄該瀏覽器上的操做

 

腳本精簡:跟實現業務無關的請求均可以去掉,可是關聯的依賴請求不能去掉

 完善腳本

1、插入事務

事務:是一切腳本的基礎

是成對出現的,start end 中名字需如出一轍

事務需定義準確,不要包含與被測接口無關的請求

事務中不包含集合的、思考時間

爲了保持請求的乾淨及事務響應時間的準確性

2、模擬用戶思考時間

Think Time : 等待多長時間再執行下面的請求

底層做用:控制請求的發送頻率,以達到控制服務器壓力的目的

能影響事務的響應時間及tps

Tps:1s 鐘的時間能處理幾個事務

3、插入檢查點

檢查點:會影響性能

爲了調試用的;通常壓測過程當中去掉檢查點

Web_reg_find  預註冊函數,放在請求前

Web_find ,web_image_check 等函數性能很差,不建議使用

注意事項:文本檢查點函數須要注意位置;圖片檢查點須要開啓run-time settings 裏的設置

數據庫寫操做能夠不加檢查點

Select 操做時才須要加檢查點

4、插入集合點

集合點:

是反映服務器的瞬時壓力

集合點只是在某些特殊場景中須要驗證嚴格併發是否可以經過,好比秒殺

集合點不能添加到事務中,要放在事務外,不然事務的統計會把集合點的等待時間也統計進去

進程、線程:默認勾選線程,進程資源消耗太多,通常沒那麼多執行機資源的

實踐經驗:若是跑場景是出現亂七八糟的事務,run-time settings  中miscellaneous 中先勾選 automatic transactions 下的兩個選項,

點擊【保存】->再次打開run-time settings ,取消勾選這兩項,點擊【保存】便可

  其餘協議腳本

 1、Webservice 實例

第一個是檢查點,第2、三個是關聯

兩關聯是如出一轍,只是結果稍有不一樣。工做中任選

對應的函數分別爲:

Lr_xml_get_values()

Lr_xml_find()

Lr_xml_extract()

2、WindowsSocket 協議:

選擇windowsSocket協議,點擊錄製

相關函數:

Lrs_receive_ex

Lrs_receive

Lrs_save_param

相關文章
相關標籤/搜索