LoadRunner函数
?
一、基礎(chǔ)函數(shù)簡介
在VU左邊導航欄中,有三個LoadRunner框架函數(shù),分別是vuser_init()、Action()、vuser_end()。這三個函數(shù)存在于任何Vuser類型的腳本中。
- vuser_init:虛擬用戶的初始化函數(shù),一般將用戶初始化的操作放在這里,如登錄操作、分配內(nèi)存等。在做uvser_init的時候,Controller的Vuser狀態(tài)區(qū)域會顯示initialize狀態(tài)(只運行一次)。
- Action:虛擬用戶要做的業(yè)務(wù),用戶的業(yè)務(wù)操作,也就是測試內(nèi)容的主體。在VU里設(shè)置迭代循環(huán)選項時,只針對Action有效,Action會被重復運行,而init和end部分則在腳本的運行過程中只會運行一次。
- vuser_end:與vuser_init相對應(yīng),uvser_end做收尾工作。在vuser_init中如果是登錄,vuser_end里面就是退出登錄;在vuser_init中如果是申請內(nèi)存,比如使用了malloc函數(shù),在vuser_end中應(yīng)該就是釋放內(nèi)存,使用free函數(shù)。
在VU右側(cè)腳本編輯框中,我們看到的是Action的實現(xiàn)主體,在運行時,Action內(nèi)的web_url函數(shù)會被調(diào)用執(zhí)行。
在LoadRunner的腳本中,我們可以調(diào)用三種函數(shù):
二、通用VU函數(shù)
通用VU函數(shù)是構(gòu)建在C語言基礎(chǔ)之上的腳本框架函數(shù),起支持作用。通用VU函數(shù)有一個特征,就是以LR開頭,以標明它們屬于LR,而不專屬于任何協(xié)議,只要是C腳本,都可以使用。
通用VU函數(shù)可分為:
- 事務(wù)控制函數(shù);
- 命令行分析函數(shù);
- 系統(tǒng)信息函數(shù);
- 字符串函數(shù);
- 日志函數(shù);
- 運行時函數(shù);
1、事務(wù)與事務(wù)控制函數(shù)
軟件系統(tǒng)的性能就是開一個個事務(wù)來度量的。LoadRunner中事務(wù)的定義就是靠事務(wù)函數(shù)來進行的,在執(zhí)行性能測試時,LoadRunner會采集完成其定義的每個事務(wù)所花費的時間,并在性能測試后再Ayslysis中進行統(tǒng)計分析。
- lr_end_sub_transaction:標記子事務(wù)的結(jié)束以便進行性能分析。
- lr_end_transaction:標記LoadRunner事務(wù)的結(jié)束。
- lr_end_transaction_instance:標記事務(wù)實例的結(jié)束以便進行性能分析。
- lr_fail_trans_with_error:將打開事務(wù)的狀態(tài)設(shè)置為LR_FAIL并發(fā)送錯誤消息。
- lr_get_trans_instance_duration:獲取事務(wù)實例的持續(xù)時間。
- lr_get_trans_instance_wasted_time:獲取事務(wù)實例浪費的時間。
- lr_resume_transaction:繼續(xù)收集事務(wù)數(shù)據(jù)以便進行性能分析。
- lr_resume_transaction_instance:繼續(xù)收集事務(wù)實例數(shù)據(jù)以便進行性能分析。
- lr_set_transaction_instance_status:設(shè)置事務(wù)實例的狀態(tài)。
- lr_set_transaction_status:設(shè)置打開事務(wù)的狀態(tài)。
- lr_set_transaction_status_by_name:設(shè)置事務(wù)的狀態(tài)。
- lr_start_sub_transaction:標記子事務(wù)的開始。
- lr_start_transaction:標記事務(wù)的開始。
- lr_start_transaction_instance:啟動嵌套事務(wù)。
- lr_stop_transaction:停止事務(wù)數(shù)據(jù)的收集。
- lr_stop_transaction_instance:停止事務(wù)數(shù)據(jù)的收集。
- lr_wasted_time:消除所有打開事務(wù)浪費的時間。
2、命令行分析函數(shù)
當LoadRunner用命令行方式啟動和運行時,以下函數(shù)用來分析命令行,以得到命令行中的參數(shù)信息。
- lr_get_attrib_double:檢索腳本命令行中使用的double類型變量。
- lr_get_attrib_long:檢索腳本命令行中使用的long類型變量。
- lr_get_attrib_string:檢索腳本命令行中使用的字符串。
3、系統(tǒng)信息函數(shù)
用來得到VU系統(tǒng)信息:
- lr_user_data_point:記錄用戶定義的數(shù)據(jù)采集點。
- lr_whoami:將有關(guān)Vuser的信息返回給Vuser腳本。
- lr_get_host_name:返回執(zhí)行Vuser腳本的主機名。
- lr_get_master_host_name:返回運行LoadRunner Controller的計算機名。
4、字符串函數(shù)
主要是對參數(shù)進行操作,包括對不通類型參數(shù)的讀取、存儲和移動。
- lr_eval_string:返回參數(shù)的當前值。
- lr_save_string:將以NULL結(jié)尾的字符串保存到參數(shù)中。
- lr_save_var:將變長字符串保存到參數(shù)中。
- lr_save_datetime:將當前日期和時間保存到參數(shù)中。
- lr_advance_param:前進到下一個可用參數(shù)。
- lr_decrypt:解密已編碼的字符串。
- lr_eval_string_ext:lr_eval_string的擴展,為指向包含參數(shù)數(shù)據(jù)的緩沖區(qū)的指針。
- lr_eval_string_ext_free:釋放由lr_eval_string_ext分配的指針。
- lv_save_searched_string:在緩沖區(qū)中搜索字符串實例,并將改字符串實例保存到參數(shù)中。
5、消息函數(shù)
是VU發(fā)送和記錄log的函數(shù)
- lr_debug_message:將調(diào)試消息發(fā)送到輸出窗口。
- lr_error_message:將錯誤消息發(fā)送到輸出窗口。
- lr_get_debug_message:得到當前的消息類。
- lr_log_message:將輸出消息直接發(fā)送到output.txt文件,此文件位于Vuser腳本目錄中。
- lr_output_message:將消息發(fā)送到輸出窗口。
- lr_set_debug_message:為輸出消息設(shè)置消息類。
- lr_vuser_status_message:生成格式化輸出并將其打印到Controller Vuser狀態(tài)區(qū)域。
- lr_message:將消息發(fā)送到Vuser日志和輸出窗口。
6、運行時函數(shù)
運行時(run-time)多數(shù)是通過VU的runtime來設(shè)置的。
- lr_load_dll,加載外部dll。
- lr_think_time:暫停腳本的執(zhí)行,以模擬思考時間。
- lr_continue_on_error,指定腳本如何處理錯誤場景,是繼續(xù)還是退出。
- lr_rendezvous:在Vuser腳本中設(shè)置集合點。
三、協(xié)議相關(guān)函數(shù)
除了通用Vuser函數(shù)以外,Vugen還會在錄制時生成特定于協(xié)議的函數(shù),并將它們插入到Vuser腳本中。
1、Http協(xié)議
Header設(shè)置函數(shù):
- Web_add_header
- Web_clean_header
點擊鏈接:
- Web_link
- Web_image
提交表單:
- Web_submit_data
- Web_submit_form
2、Web系統(tǒng)設(shè)置
Cache設(shè)置:
- Web_cache_leanup
- Web_load_cache
Cookie設(shè)置:
- Web_add_cookie
- Web_cleanup_cookies
Proxy設(shè)置:
- Web_set_proxy
- Web_set_secure_proxy
3、LoadRunner框架支持
檢查點:
- Web_find
- Web_image_check
關(guān)聯(lián):
- Web_create_html_param
- Web_create_html_param_ex
- Web_reg_save_param
- Web_set_max_html_param_len
控制:
- Lr_start_transaction
- Lr_rendzvous
- Lr_think_time
- 第一條語句Web_add_cookie的作用是保存Server傳過來的cookie,以后的訪問都會基于此cookie,直到腳本的結(jié)束。
- 第二條語句lr_think_time,模擬用戶思考時間,暫停7秒。
- 第三條語句Web_url顯示用戶在IE地址欄輸入http://127.0.0.1:9090/Account/Login,然后回車,IE發(fā)起一個訪問的請求。
?
轉(zhuǎn)載于:https://www.cnblogs.com/HCT118/p/5149354.html
總結(jié)
以上是生活随笔為你收集整理的LoadRunner函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql授权单个表权限
- 下一篇: Kappa电商负责人顾皓澜:电商业务一直