標籤:loadrunner c語言 vuser
LoadRunner指令碼語言之C語言
Loadrunner幾乎支援所有主流語言,比如C語言,JAVA,VB等。Web(HTTP/HTML)協議預設使用的是C語言。
Loadrunner 指令碼語言架構
Loadrunner的指令碼主要由Action組成。Action包含3個獨立的函數:vuser_init()、action()、vuser_end()。我們通常把使用者操作根據類型存放在不同的函數中。
函數 |
函數描述 |
Vuser_init() |
一般將使用者初始化的操作放在這裡,例如登陸、分配記憶體 |
Action() |
是虛擬使用者要做的業務,是測試內容的主題 |
Vuser_end() |
與vuser_init()相對應,做清理操作,如分配記憶體的回收等等。 |
Loadrunner中的C語言
Loadrunner中的C編譯器遵循C90標準,規定在一個函數中,變數定義必須放在所有的執行語句之前。
用於運行 Vuser 指令碼C解譯器僅支援 ANSI C 語言。它不支援Microsoft 對 ANSI C 的任何擴充。
LoadRunner提供了功能強大的API集合,足夠應付大多數效能測試的需求。但在某些情況下,這些API仍然有覆蓋不到的地方。這種情況下,我們可以用載入DLL的方式來實現。
例如:
lr_load_dll("something.dll");
Somefunction();
LoadRunner中的C Vuser函數命令列解析函數
函數 |
函數描述 |
lr_get_attrib_double |
檢索指令碼命令行中使用的 double 類型變數。 |
lr_get_attrib_long |
檢索指令碼命令行中使用的 long 類型變數。 |
lr_get_attrib_string |
檢索指令碼命令行中使用的字串。 |
擷取資訊
函數 |
函數描述 |
lr_user_data_point |
錄製使用者定義的資料樣本。 |
lr_whoami |
將有關 Vuser 的資訊返回給 Vuser 指令碼。不適用於應用程式管理。 |
lr_get_host_name |
返回執行 Vuser 指令碼的主機名稱。 |
lr_get_master_host_name |
返回運行 LoadRunner Controller 或最佳化控制台的電腦的名稱。不適用於應用程式管理。 |
事務函數
函數 |
函數描述 |
lr_end_sub_transaction |
標記子事務的結束以便進行效能分析。 |
lr_end_transaction |
標記事務的結束。 |
lr_end_transaction_instance |
標記事務執行個體的結束以便進行效能分析。 |
lr_fail_trans_with_error |
將開啟事務的狀態設定為 LR_FAIL 並發送錯誤訊息。 |
lr_get_trans_instance_duration |
擷取事務執行個體的期間(由它的控制代碼指定)。 |
lr_get_trans_instance_wasted_time |
擷取事務執行個體浪費的時間(由它的控制代碼指定)。 |
lr_get_transaction_duration |
擷取事務的期間(按事務的名稱)。 |
lr_get_transaction_think_time |
擷取事務的考慮時間(按事務的名稱)。 |
lr_get_transaction_wasted_time |
擷取事務浪費的時間(按事務的名稱)。 |
lr_resume_transaction |
繼續收集交易資料以便進行效能分析。 |
lr_resume_transaction_instance |
繼續收集事務執行個體資料以便進行效能分析。 |
lr_set_transaction_instance_status |
設定事務執行個體的狀態。 |
lr_set_transaction_status |
設定開啟事務的狀態。 |
lr_set_transaction_status_by_name |
設定事務的狀態。 |
lr_start_sub_transaction |
標記子事務的開始。 |
lr_start_transaction |
標記事務的開始。 |
lr_start_transaction_instance |
啟動嵌套事務(由它的父事務的控制代碼指定)。 |
lr_stop_transaction |
停止交易資料的收集。 |
lr_stop_transaction_instance |
停止事務(由它的控制代碼指定)資料的收集。 |
lr_wasted_time |
消除所有開啟事務浪費的時間。 |
字串函數
函數 |
函數描述 |
lr_eval_string |
用當前值替換參數。 |
lr_save_string |
將以 NULL 結尾的字串儲存到參數中。 |
lr_save_var |
將可變長度字串儲存到參數中。 |
lr_save_datetime |
將當前日期和時間儲存到參數中。 |
lr _advance_param |
前進到下一個可用參數。 |
lr _decrypt |
解密已編碼的字串。 |
lr_eval_string_ext |
檢索指向包含參數資料的緩衝區的指標。 |
lr_eval_string_ext_free |
釋放由 lr_eval_string_ext 分配的指標。 |
lr_save_searched_string |
在緩衝區中搜尋字串執行個體,並相對於該字串執行個體,將該緩衝區的一部分儲存到參數中。 |
訊息函數
函數 |
函數描述 |
lr_debug_message |
向輸出視窗或商務程序監控器記錄檔發送調試訊息。 |
lr_error_message |
向輸出視窗或商務程序監控器記錄檔發送錯誤訊息。 |
lr_get_debug_message |
檢索當前訊息類。 |
lr_log_message |
將訊息發送到記錄檔。 |
lr_output_message |
向輸出視窗或商務程序監控器記錄檔發送訊息。 |
lr_set_debug_message |
設定調試訊息類。 |
lr_vuser_status_message |
產生帶格式的輸出,並將其列印到 Controller 或控制台 Vuser 狀態區域。不適用於應用程式管理。 |
lr_message |
向 Vuser 日誌和輸出視窗或商務程序監控器記錄檔發送訊息。 |
運行時函數
函數 |
函數描述 |
lr_load_dll |
載入外部 DLL。 |
lr_peek_events |
指示可以暫停 Vuser 指令碼的位置。 |
lr_think_time |
暫停指令碼的執行,以類比考慮時間(實際使用者在操作之間暫停以進行思考的時間)。 |
lr_continue_on_error |
指定處理錯誤的方法。 |
lr_rendezvous |
在 Vuser 指令碼中設定集合點。不適用於應用程式管理。 |
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
LoadRunner指令碼語言之C語言