錄制及回放的注意點:
1、測試系統教復雜時,正確的划分action,對監控的每一個業務模型和操作,起到重要作用
2、錄制完成后,先進行編譯(改動腳本之后檢查下有沒有語法錯誤):工具欄Vuser下有一個compile(Shift+F5)
3、編譯完成后,進行回放:單步執行(人工一步一步執行)的方式:按F10或Vuser下面的Run step by step
4、所有手動添加的語句后面都有分號,不確定可以先編譯下找到錯誤
步驟:比如登錄一個系統后注銷登錄
一、錄制:
1、打開url,Action選擇Vuser_init——打開工具后,選擇錄制的url,以及Record into Action選擇Vuser_init初始化腳本(Vuser_init在整個腳本中只運行一次)
2、訪問到url頁面之后,Action切換到Action,可以自己點擊右邊的按鈕給action修改個名字,也可以錄制成功之后修改action名字
3、登錄頁面輸入用戶名、密碼后點擊登陸按鈕時,Action也選擇action——為了區分,新增一個action進行錄制,輸入用戶名密碼后點擊登陸按鈕
4、退出登錄按鈕時,切換到Vuser_end——點擊退出登錄按鈕(Vuser_end在整個腳本中也只運行一次)
二、回放
1、編譯(檢查下有沒有語法錯誤):工具欄Vuser下有一個compile(Shift+F5)
首次編制時間比較長,編譯沒問題就會在下面顯示No errors detected
2、單步執行(編譯完成后就進行單步執行):按F10或Vuser下面的Run step by step
三、腳本優化:插入事務點、參數化、集合點和檢查點
1、插入事務點方法:
1.1、可以錄制時設置
1.2、也可以錄制完成后手動編制
鼠標放到需要插入事務點的地方,手動輸入lr_start_transaction("confirm"); 在結束的地方輸入 lr_end_transaction("confirm", LR_AUTO);
1.3、也可以錄制完成后點擊事務按鈕添加:工具欄的2個按鈕、或Insert下面的2個按鈕,作用是一樣的
2、插入集合點方法(必須在操作的前面):
2.1、手動編輯 lr_rendezvous("login");
2.2、鼠標放在指定位置后,點擊按鈕
3、參數化方法:(不建議直接選中參數后右鍵Replace with a Parameter,因為這樣會直接吧admin帶進來,有些地方要求唯一性。。。。)
3.1、工具欄倒數第2個按鈕Open Parameter List
3.2、Insert下的New Parameter新建參數
設置好參數之后,選中頁面的參數后進行替換
參數化之后,進行編譯,再運行,如何確定運行返回的日志是哪個人員進行登陸的,可以手動添加腳本或Vuser下點擊按鈕添加 lr_log_message("用戶名%s",lr_eval_string("{user}")); 運行后回放日志里面會返回登陸的用戶名
4、設置檢查點:因為在第3步給登陸用戶名進行參數化時,輸入了一個不存在的登陸用戶名aaa,但是運行結果也是pass,所以在大壓力測試時有必要設置檢查點
步驟:4.1、目前操作時在Script頁面,點擊進入Tree模式,去查看登陸頁面的response頁面
4.2、找到登陸成功頁面存在的“退出”按鈕——全選中后右鍵——Add Text Check Step (相當於web_reg_find)文本檢查點——(第一個勾選框時文本檢查,第2個勾選框是代碼檢查,默認選第一個)勾選最下面一行fail if在Not Found情況下表示沒有發現你選擇的那幾個字就會失敗
4.3、選好檢查點后,回到Script腳本頁面,會發現文本檢查點腳本存在頁面上
4.4、因為文本檢查點會占用系統資源,所以默認是不開啟的,需要手動開啟:參數選項——Preference勾選Enable Image and text check
4.5、編譯沒有語法錯誤后就運行
5、腳本驗證:將文本檢查點稍微修改下之后,在后面進行判斷