loadrunner之 學習二:loadrunner函式
學習二:loadrunner函式
一、基礎函式
在VU左邊導航欄中,有三個LR框架函式,分別是vuser_init(),Action(),vuser_end()。這三個函式存在與任何Vuser型別的指令碼中。
- vuser_init():虛擬使用者的初始化函式,存放使用者初始化操作,如登入、分配記憶體等。(只執行一次)
- Action:虛擬使用者要做的業務,也就是測試內容的主體。引數化只對Action有效,Action重複執行。
- vuser_end():與init()相對,做收尾工作,如退出登入,free記憶體。(同樣只執行一次)
在LR指令碼中,我們可以呼叫三種函式:
- VU通用函式,一般以lr開頭,如lr_start_transaction函式。
- 協議相關函式,不同型別的Vuser的函式一般以本協議型別開頭。如果指令碼是Web(HTTP/HTML)型別的,web_url就是一個協議函式。
- 語言相關函式。如VU指令碼用C語言寫的,那麼C語言的標準函式庫或DLL都可以在這裡被載入和使用。
二、通用VU函式
通用VU函式是構建在C語言基礎之上的指令碼框架函式,起支援作用。通用VU函式有一個特徵,就是以LR開頭,以標明它們屬於LR,而不專屬於任何協議,只要是C指令碼,都可以使用。
通用VU函式可分為:
- 事務控制函式
- 命令列分析函式
- 系統資訊函式
- 字串函式
- 日誌函式
- 執行時函式
1.事務與事務控制函式
軟體系統的效能就是以一個個事務來度量的。LR中事務的定義就是靠事務函式來進行,在執行效能測試時,LR會採集完成其定義的每個事務所花費的時間,並在效能測試後在Analysis中進行統計分析
- lr_end_sub_transaction:標記子事務的結束以便進行效能分析。
- lr_end_transaction:標記LoadRunner事務的結束。
- lr_end_transaction_instance:標記事務例項的結束以便進行效能分析。
- lr_fail_trans_with_error:將開啟事務的狀態設定為LR_FAIL併發送錯誤訊息。
- lr_get_trans_instance_duration:獲取事務例項的持續時間。
- lr_get_trans_instance_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:消除所有開啟事務浪費的時間。
2.命令列分析函式
當LoadRunner用命令列方式啟動和執行時,以下函式用來分析命令列,以得到命令列中的引數資訊。
- lr_get_attrib_double:檢索指令碼命令列中使用的double型別變數。
- lr_get_attrib_long:檢索指令碼命令列中使用的long型別變數。
- lr_get_attrib_string:檢索指令碼命令列中使用的字串。
3.系統資訊函式
用來得到VU系統資訊:
- lr_user_data_point:記錄使用者定義的資料採集點。
- lr_whoami:將有關Vuser的資訊返回給Vuser指令碼。
- lr_get_host_name:返回執行Vuser指令碼的主機名。
- lr_get_master_host_name:返回執行LoadRunner Controller的計算機名。
4.字串函式
主要是對引數進行操作,包括對不同型別引數的讀取、儲存和移動。
- 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的擴充套件,為指向包含引數資料的緩衝區的指標。
- lr_eval_string_ext_free:釋放由lr_eval_string_ext分配的指標。
- lr_save_searched_string:在緩衝區中搜索字串例項,並將改字串例項儲存到引數中。
5.訊息函式
是VU傳送和記錄log的函式
- lr_debug_message:將除錯訊息傳送到輸出視窗。
- lr_error_message:將錯誤訊息傳送到輸出視窗。
- lr_get_debug_message:得到當前的訊息類。
- lr_log_message:將輸出訊息直接傳送到output.txt檔案,此檔案位於Vuser指令碼目錄中。
- lr_output_message:將訊息傳送到輸出視窗。
- lr_set_debug_message:為輸出訊息設定訊息類。
- lr_vuser_status_message:生成格式化輸出並將其列印到Controller Vuser狀態區域。
- lr_message:將訊息傳送到Vuser日誌和輸出視窗。
6.執行時函式
執行時(run-time)多數是通過VU的runtime來設定的。
- lr_load_dll,載入外部dll。
- lr_think_time:暫停指令碼的執行,以模擬思考時間。
- lr_continue_on_error,指定指令碼如何處理錯誤場景,是繼續還是退出。
- lr_rendezvous:在Vuser指令碼中設定集合點。
三、協議相關函式
除了通用Vuser函式以外,Vugen還會在錄製時生成特定於協議的函式,並將它們插入到Vuser指令碼中。
1.http協議
Header設定函式:
- Web_add_header
- Web_clean_header
點選連結:
- Web_link
- Web_image
提交表單:
- Web_submit_data
- Web_submit_form
2.web系統設定
Cache設定:
- Web_cache_leanup
- Web_load_cache
Cookie設定:
- Web_add_cookie
- Web_cleanup_cookies
Proxy設定:
- Web_set_proxy
- Web_set_secure_proxy
3.LR框架支援
檢查點:
- Web_find
- Web_image_check
關聯:
- 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
相關推薦
loadrunner之 學習二:loadrunner函式
學習二:loadrunner函式 一、基礎函式 在VU左邊導航欄中,有三個LR框架函式,分別是vuser_init(),Action(),vuser_end()。這三個函式存在與任何Vuser型別的指令碼中。 vuser_init():虛擬使
loadrunner之 學習九:分析結果,給出報告
學習九:分析結果,給出報告 1.Analysis初接觸 Analysis可以通過Launcher開啟,也可以通過controller開啟。包含下列主要視窗: 會話瀏覽器:顯示已經開啟可供檢視的報告和圖。可開啟新報告或圖,也可刪除不想檢視的報告和圖。
loadrunner之 學習六:將結果寫入日誌檔案
學習六:將結果寫入日誌檔案 1.指令碼實現 首先根據網上找到的內容跟著進行指令碼實現,程式碼如下: //定義要寫入的日誌,開啟檔案 char *filename = "d:\\lr_script\\test001.log"; long file_st
吳恩達機器學習 學習筆記 之 二 :代價函式和梯度下降演算法
二、 2-1 Model Representation 我們學習的第一個演算法是線性迴歸,接下來會講什麼樣的模型更重要,監督學習的過程是什麼樣子。 首先舉一個需要做預測的例子:住房價格上漲,預測房價,我們擁有某一城市的住房價格資料。基於這些資料,繪製圖形。 在已有房價資
STL學習之十二:函式物件和謂詞
本文主要介紹函式物件和謂詞的示例程式碼。函式物件是屬於類物件,能突破函式的概念 ,用以保持條用狀態資訊。具體的使用資訊科參見程式碼中的註釋部分。 示例程式碼主要包含: 1 .函式物件的定義 函式物件和普通函式的區別; 2. 分清楚STL演算法返回的值時迭代器 還是 謂
Mysql學習之十二:JDBC連接數據庫之DriverManager方法
url state 種類 delet rom 條件 管理系 ont into JDBC連接數據庫 ?創建一個以JDBC連接數據庫的程序,包括7個步驟: 1、載入JDBC驅動程序: 在連接數據庫之前。首先要載入想要連接的數據庫的驅動到JVM
Tensorflow深度學習之十二:基礎圖像處理之二
fcm 數字 ssi port con tty .net term file Tensorflow深度學習之十二:基礎圖像處理之二 from:https://blog.csdn.net/davincil/article/details/76598474 首先放出
小程式學習之路二:開發工具部分功能和專案結構介紹
上一篇講到了新建專案進來,本篇主要講解開發工具部分功能和專案結構介紹,按照我的風格來,先上目錄 開發工具的部分功能簡介 小程式專案目錄簡介 以下幾個功能是我覺得比較方便喜歡的 自動儲存(設定----編輯設定-----選中修改檔案時自動儲存) console(控
kubernetes學習筆記之十二:資源指標API及自定義指標API
第一章、前言 以前是用heapster來收集資源指標才能看,現在heapster要廢棄了從1.8以後引入了資源api指標監視 資源指標:metrics-server(核心指標) 自定義指標:prometheus,k8s-prometheus-adapter(將Prometheus採集的資料轉換為指
基礎學習筆記之opencv(24):imwrite函式的使用
前言 OpenCV中儲存圖片的函式在c++版本中變成了imwrite(),這應該是向matlab中影象處理的的一些函式風格靠近吧。儲存圖片這個功能還是很重要的,比如說在寫科研論文的時候需要把一些中間圖片給貼出來,這樣就可以在程式中間利用該函式儲存圖片了。甚至還可以將這些儲存的圖片供後續的matla
Java Web 學習筆記之十二:JBoss RestEasy處理跨域OPTIONS請求方式
跨域請求問題 前提 前後端分離的B/S架構系統 前後端獨立開發,後端採用JBoss restEasy 框架搭建restful服務 後端程式碼開發完成並且部署在某一臺測試機上 前端開發過程中,需
Tensorflow深度學習之十二:基礎影象處理之二
首先放出原始影象: 1、影象的翻轉 import tensorflow as tf import cv2 # 這裡定義一個tensorflow讀取的圖片格式轉換為opencv讀取的圖片格式的函式 # 請注意: # 在tensorflow中,一個畫素
我的Go語言學習之旅二:入門初體驗 Hello World
好吧,所有的程式設計師們都已經習慣了,學習任何一門語言,我們都會以Hello World例項開始我們的學習,我也不例外。先來一個簡單的例子 開啟編輯器 (可以用記事本,我已經習慣 Notepad++了)輸入以下內容 package main import
C++虛擬函式之二:虛擬函式表與虛擬函式呼叫
繼續前一篇《C++ 虛擬函式之一:物件記憶體佈局》,這次來分析一下虛擬函式表的結構和虛擬函式的呼叫過程。 虛擬函式表結構 如何檢視虛擬函式表的結構?使用gdb直接檢視記憶體固然可以,但是不夠直觀,那麼有沒有更好的方法呢?使用gcc的-fdump-clas
二十一、Oracle學習筆記:編寫函式和觸發器
一、函式或過程的選擇 1.如果要進行DML(增刪改),選擇儲存過程 2.如果沒有DML,選擇函式 二、函式 1.格式 create or replace function 函式名(引數1 型別,引數2 型別, 。。。) return
轉:【Java並發編程】之十二:線程間通信中notifyAll造成的早期通知問題(含代碼)
data light lan 添加項 article util tool 元素 seconds 轉載請註明出處:http://blog.csdn.net/ns_code/article/details/17229601 如果線程在等待時接到通知,但線程等待的條件
WPF學習二:TextBlock和Label的區別
padding eight 前景 繼承 man ont blog led use TextBlock和Label都是用來顯示少量數據的。好多文章對Label存在的描述都是它允許使用"快速獲取"。"快速獲取"就是允許你用Alt加上其它的按鍵快速和UI界面的某個控件交互,比如你
python之multiprocessing(二):multiprocessing.Pool
centos6 bsp ins keys name roc set turn system [實現:多進程paramiko] 1.server_list.txt :格式 HOST PORT USER PASSWD localhost 22 root roo
垃圾收集器與內存分配策略之篇二:垃圾收集器
開啟 full gc 行處理 意義 方案 發現 特征 sea 互聯網 五、垃圾收集器 如果說收集算法是內存回收的方法論,那麽垃圾收集器就是內存回收的具體實現。由於java虛擬機規範對垃圾收集器實現沒有任何的規範因此不同的廠商,不同的版本的虛擬機所提供的垃圾收集器都有可
應用負載均衡之LVS(二):VS_TUN和VS_DR的arp問題
sets 現在 win data info defined -m ping不通 scss 本文目錄:1. ARP協議簡介2. arp_ignore和arp_announce變量的作用分析 2.1 arp_ignore 2.2 arp_announce3. 設置arp_i