LoadRunner指令碼語言之C語言

來源:互聯網
上載者:User

標籤: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語言

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.