日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LoadRunner函数

發(fā)布時間:2023/12/10 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LoadRunner函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

一、基礎(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ù),一般以lr開頭,就如上面的lr_start_transaction函數(shù)。
  • 協(xié)議相關(guān)函數(shù),不通類型的Vuser的函數(shù)一般以本協(xié)議類型開頭。如果上面的腳本時Web(HTTP/HTML)類型的,web_url就是一個協(xié)議函數(shù),web前綴說明它是屬于Web HTTP協(xié)議的,HTTP協(xié)議函數(shù)還包括web_list、web_link。
  • 語言相關(guān)函數(shù)。上面的VU腳本時用C語言寫的,那么C語言的標準函數(shù)或dll都可以在這里被加載和使用。
  • 二、通用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
    Action() {Web_add_cookie("nav = 140, Domain = Dogbert");lr_think_time(7);Web_url("Login", "URL=http://127.0.0.1:9090/Account/Login", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTTP", LAST); }
    • 第一條語句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)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。