loadrunner回放腳本
⑴ 軟體測試工具LoadRunner選項設置
在LoadRunner中,正確設置選項對於錄制和回放測試腳本至關重要。以下是兩個關鍵設置區域的詳細說明:
1. **Recording Options(錄制選項)**
- **HTML-based script(基於HTML的腳本)**:這是默認選項,適用於基於瀏覽器的應用程序。腳本將以HTML頁面的形式表示。
- **URL-based script(基於URL的腳本)**:當應用程序不是基於瀏覽器時,選擇此選項。腳本中的表示將基於URL。
- **Browser(瀏覽器)**:設置默認瀏覽器。可以選擇使用默認瀏覽器、手動啟動應用程序或指定瀏覽器路徑。
- **Recording Proxy(錄制代理)**:設置上網代理。可以選擇不使用代理、使用記錄瀏覽器中的代理設置或自定義代理伺服器和埠。
- **Advanced(高級)**:設置錄制過程中的高級選項,如記錄思考時間、完全記錄日誌和添加註釋到腳本中。
2. **Run-time Settings(運行時設置)**
- **Run Logic(運行邏輯)**:設置腳本重復執行的次數。
- **Pacing(節奏)**:控制兩次迭代之間的延遲。可以選擇立即執行下一次、在上一迭代結束後執行或以固定間隔執行。
- **Think time(思考時間)**:設置用戶操作的思考時間。可以選擇忽略思考時間、按記錄的時間回放或使用隨機百分比。
- **Miscellaneous(雜項)**:包括錯誤處理和多線程設置。可以定義每個操作步驟作為事務或每個步驟作為事務。
- **Network(網路)**:設置網路連接速度。可以選擇使用最大帶寬、自定義帶寬或使用當前主流的接入方式。
正確配置這些選項可以確保測試腳本的准確性和有效性,從而在進行性能測試時獲得可靠的結果。
⑵ loadrunner11.0錄制的腳本為什麼不能回放
原因有很多,我也遇到過很多。
可能是你的環境配置不對,像我的是WIN7(64)+LR11+IE10,這個組合是錄制不出來的,然後我改用了火狐瀏覽器,可以錄制,但是錄制出來的腳步,基本像天書。(加密和保護措施太多,從而導致腳本不純凈),比較好的錄制環境是XP+LR11+IE8,或者WIN7(32)+LR11+IE8
也有可能是你錄制的選項沒有選擇正確,一般是將RECORDING OPTIONS中的recording中的HTTP ADAVNCED...中選擇A SCRIPT CONTAINING EXPLICIT URLS ONLY,然後保存設置從新錄制,即可回放
如果2不行,還可以將HTML-BASE SCRIPT,改為URL-BASED SCRIPT,也是在2中所述的菜單中(尤其是現在HTML5盛行,大部分都只能用URL模式來錄制)
如果還是不行,那就說明可能是有數據需要關聯操作,不過一般這個情況是回放了一部分LR才會報錯的。
⑶ loadrunner錄制的腳本亂碼怎麼辦
一、錄制回放中文亂碼
我錄制登陸的腳本,用戶名中出現中文,回放的時候總是提示登陸失敗。如下圖:
5
圖1 LR回放中文亂碼
解決中文亂碼可以在錄制的時候在Virtual User Gen的 Tools->Recoding Options -> Advanced -> Support charset -> UTF-8。重新錄制後中文亂碼問題得到解決。
二、整合腳本中文亂碼
錄制增強(參數化,關聯,檢查點,事務)腳本後決定將幾個腳本整合在一起。於是新建了一個空的腳本,將登陸退出公用操作分別放在vuser_init和vuser_end中,其他操作放在各自的Action中。整理完成回放後又出現中文亂碼。為解決這個問題,最關鍵的是要把本地GBK編碼的漢字轉換成UTF-8編碼格式的信息,為此我們引進loadrunner自帶的編碼函數lr_convert_string_encoding。
int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);
該函數有4個參數,含義如下:
sourceString:被轉換的源字元串。
fromEncoding:轉換前的字元編碼。
toEncoding:要轉換成為的字元編碼。
paramName:轉換後的目標字元串。
實踐一:
1
2
3
4
5
6
7
lr_convert_string_encoding("登陸賬號",LR_ENC_SYSTEM_LOCALE,
LR_ENC_UTF8,
"Account");
web_submit_data("login.quick",
……
"Name=account",
"Value={Account}",
ENDITEM,
……
LAST);
回放腳本的時候依然報錯。查看lr_convert_string_encoding的解釋,它會在其轉換的字元串末尾加上\x00。在C語言中\X00是一個字元串的結束,而正是這個\x00的存在導致了腳本回放失敗。
實踐二:
1
2
3
4
5
6
7
8
9
10
11
char
tmp[100];
lr_convert_string_encoding("登陸賬號",LR_ENC_SYSTEM_LOCALE,
LR_ENC_UTF8,
"Account");
strcpy(tmp,lr_eval_string("{Account}"));
lr_save_string(tmp,"Account");
web_submit_data("login.quick",
……
"Name=account",
"Value={Account}",
ENDITEM,
……
LAST);
通過strcpy和lr_save_string的處理屏蔽\x00的影響,測試結果正常