1. 程式人生 > >Loadrunner常用函式詳解(一)

Loadrunner常用函式詳解(一)

web_url
語法:
Int Web_url(const char *name, const char * url, , [EXTRARES,,LAST)

返回值
成功時返回LR_PASS (0),失敗時返回 LR_FAIL (1)。

引數:
Name:VuGen中樹形檢視中顯示的名稱,在自動事務處理中也可以用做事務的名稱。

url:頁面url地址。

List of Attributes

EXTRARES:分隔符,標記下一個引數是資源屬性的列表了。

List of Resource Attributes

LAST:屬性列表結束的標記符。

說明
Web_url根據函式中的URL屬性載入對應的URL,不需要上下文。

只有VuGen處於URL-based或者HTML-based(此時A script containing explicit URLs only選項被選中時)的錄製模式時,web_url才會被錄製到。

可以使用web_url 模擬從FTP伺服器上下載檔案。web_url 函式會使FTP伺服器執行檔案被真實下載時的操作。除非手工指定了"FtpAscii=1",下載會以二進位制模式完成。

在錄製選項中,Toos—Recording Option下,Recording選項中,有一個Advanced HTML選項,可以設定是否錄製非HTML資源,只有選擇了“Record within the current script step”時,List of Resource Attributes才會被錄製到。非HTML資源的例子是gif和jpg圖象檔案。

通過修改HTTP頭可以傳遞給伺服器一些附加的請求資訊。使用HTTP頭允許請求中包含其他的內容型別(Content_type),象壓縮檔案一樣。還可以只請求特定狀態下的web頁面。

所有的Web Vusers ,HTTP模式下的WAP Vusers或者回放模式下的Wireless Session Protocol(WSP),都支援web_url函式。

web_image
語法:
Int web_image (const char *StepName, , [EXTRARES, ,] LAST );

返回值
成功時返回LR_PASS (0),失敗時返回 LR_FAIL (1)。

引數:
StepName:VuGen中樹形檢視中顯示的名稱,在自動事務處理中也可以用做事務的名稱。

List of Attributes(伺服器端和客戶端對映的圖片):SRC屬性是一定會被錄製到的,其他的ALT、Frame、TargetFrame、Ordinal則是有的話會被錄製到。

1、ALT:描述圖象的元素。用滑鼠指向圖象時,所浮出來的文字提示。

2、SRC:描述圖象的元素,可以是圖象的檔名. 如: button.gif。也可以使用SRC/SFX來指定圖象路徑的字尾。所有擁有相同此後綴的字串都會被匹配到。

3、Frame:錄製操作時所在的Frame的名稱。

4、TargetFrame:見List of Attributes的同名引數。

5、Ordinal:參見Web_link的同名引數。

List of Attributes(客戶端對映的圖片):

1、AreaAlt:滑鼠單擊區域的ALT屬性。

2、AreaOrdinal:滑鼠單擊區域的順序號。

3、MapName:圖象的對映名。

List of Attributes(伺服器端對映的圖片):儘管點選座標不屬於屬性,但還是以屬性的格式來使用。

1、Xcoord:點選圖象時的X座標。

2、Ycoord:點選圖象時的Y座標。

EXTRARES:分隔符,標記下一個引數是資源屬性的列表了。

List of Resource Attributes:參見List of Resource Attributes一節。

LAST:屬性列表結束的標記符。

說明
web_image模擬滑鼠在指定圖片上的單擊動作。此函式必須在有前置操作的上下文中使用。

在Toos—Recording Option,如果錄製級別設為基於HMTL的錄製方式時,web_image才會被錄製到。

web_image支援客戶端(client-side)和伺服器端server-side的圖片對映。

在錄製選項中,Toos—Recording Option下,Recording選項中,有一個Advanced HTML選項,可以設定是否錄製非HTML資源,只有選擇了“Record within the current script step”時,List of Resource Attributes才會被錄製到。非HTML資源的例子是gif和jpg圖象檔案。

通過修改HTTP頭可以傳遞給伺服器一些請求附加資訊。使用HTTP頭允許請求中包含內容,如同壓縮檔案一樣。還可以只請求特定狀態的web頁面。

web_image支援Web虛擬使用者,不支援WAP虛擬使用者。

例子
下面的例子模擬使用者單擊Home圖示以回到主頁(黑體部分):

web_url("my_home", "URL=http://my_home/", LAST);

web_link("Employees", "Text=Employees", LAST);

web_image("Home.gif", "SRC=../gifs/Buttons/Home.gif", LAST);

web_link("Library", "Text=Library", LAST);

web_image("Home.gif", "SRC=../../gifs/buttons/Home.gif", LAST);

下面的例子模擬使用者在客戶端對映的圖片上單擊:

web_image("dpt_house.gif",

       "Src=../gifs/dpt_house.gif",

       "MapName=dpt_house",

       "AreaOrdinal=4",

       LAST);

下面的例子模擬使用者在服務端對映的圖片上單擊:

web_image("The Web Developer's Virtual Library",

       "Alt=The Web Developer's Virtual Library",

       "Ordinal=1",

       "XCoord=91",

       "YCoord=17",

       LAST);

下面是一個使用檔名字尾的例子:它指定了dpt_house.gif作為字尾,所以象../gifs/dpt_house.gif、/gifs/dpt_house.gif、gifs/dpt_house.gif、/dpt_house.gif等都會匹配到。

web_image("dpt_house.gif",
        "Src/sfx=dpt_house.gif", LAST);

web_link
語法:
Int web_link (const char *StepName, , [EXTRARES, ,] LAST );

返回值
成功時返回LR_PASS (0),失敗時返回 LR_FAIL (1)。

引數:
StepName:VuGen中樹形檢視中顯示的名稱,在自動事務設定中也被用做事務名稱。

List of Attributes:支援下列的屬性:

1.      Text:超連結中的文字,必須精確匹配。

2.      Frame:錄製操作時所在的Frame的名稱。

3.      TargetFrame、ResourceByteLimit:見List of Attributes一節。

4.      Ordinal:如果用給出的屬性(Attributes)篩選出的元素不唯一,那麼VuGen使用此屬性來指定其中的一個。例如:“SRC=abc.gif”,“Ordinal=3”標記的是SRC的值是“abc.gif”的第3張圖片。

EXTRARES:表明下面的引數將會是list of resource attributes了。

LAST:結尾標示符。

說明
模擬滑鼠在由若干個屬性集合描述的連結上進行單擊。此函式必須在前置動作的上下文中才可以執行。

web_link 僅僅在基於HTML的錄製方式中才會被VuGen捕捉到。

非HTML生成的資源的例子有.gif 和.jpg影象。對於List of Resource Attributes引數來說,僅僅當Recording Options--Recording --HTML-based script-- Record within the current script step選項被選中時,它們才會被插入到程式碼中。

可以通過改變HTTP頭資訊給伺服器傳遞一些附加資訊。使用HTTP頭資訊可以,允許響應體中包含其他的內容型別(Content-Type),例如壓縮檔案,或者只有滿足了特定的狀態才去請求web頁。

此函式值支援Web虛擬使用者,不支援WAP虛擬使用者。

web_submmit_form
語法:
Int web_submit_form (const char *StepName, , , ITEMDATA, , [ EXTRARES, ,] LAST );

返回值
成功時返回LR_PASS (0),失敗時返回 LR_FAIL (1)。

引數:
StepName:Form的名字。VuGen中樹形檢視中顯示的名稱,在自動事務處理中也可以用做事務的名稱。

List of Attributes:支援以下屬性:

1.      Action:Form中的ACTION屬性,指定了完成Form中的操作用到的URL。也可以使用“Action/sfx” 表示使用此後綴的所有Action。

2.      Frame:錄製操作時所在的Frame的名稱。

3.      TargetFrame、ResourceByteLimit:見List of Attributes的同名引數。

4.      Ordinal:參見Web_link的同名引數。

VuGen通過記錄資料域唯一的標識每個Form。如果這樣不足以識別Form,VuGen會記錄Action 屬性。如果還不足以識別,則會記錄Ordinal 屬性,這種情況下不會記錄Action屬性。

List of Hidden Fields:補充屬性(Serves)。 通過此屬性可以使用一串隱含域來標識Form。使用下面的格式:

STARTHIDDENS,

"name=n1", "value=v1", ENDITEM,

"name=n2", "value=v2", ENDITEM,

ENDHIDDENS,

List of Data Fields

Data項用來標識form。Form是通過屬性和資料來共同識別的。

使用下面的格式來表示資料域列表

"name=n1", "value=v1", ENDITEM,

"name=n2", "value=v2", ENDITEM,

ITEMDATA:Form中資料和屬性的分隔符。

EXTRARES:一個分隔符,標記下一個引數是資源屬性的列表了。

List of Resource Attributes:參見List of Resource Attributes一節。

LAST:屬性列表結束的標記符。

說明
web_submit_form 函式用來提交表單。此函式可能必須在前一個操作的上下文中執行。在Toos—Recording Option,只有錄製級別設為基於HMTL的錄製方式,web_image才會被錄製到。

在錄製選項中,Toos—Recording Option下,Recording選項中,有一個Advanced HTML選項,可以設定是否錄製非HTML資源,只有選擇了“Record within the current script step”時,List of Resource Attributes才會被錄製到。非HTML資源的例子是gif和jpg圖象檔案。

通常情況下,如果錄製了web_submit_form 函式,VuGen會把“name”和“value”一起錄製到ITEMDATA屬性中。如果不想在指令碼中以明文顯示“value”,可以對它進行加密。把 “Value”改為“EncryptedValue”,然後把錄製到的值改為加密後的值。

例如:可以把 "Name=grpType", "Value=radRoundtrip", ENDITEM

改為:"Name=grpType", EncryptedValue=409e41ebf102f3036b0549c799be3609", ENDITEM

如果你完整的安裝了LoadRunner,那麼開啟開始選單--Mercury LoadRunner—Tools--Password Encoder,這個小工具是用來加密字串的。把需要加密的值貼上到Password一欄,再點Generate按鈕。加密後的字串會出現在 Encoded string框中。接著點Copy按鈕,然後把它貼上到指令碼中,覆蓋原來顯示的“Value”。

加密的另一種方法時使用lr_decrypt函式。方法:選擇整個字串,例如“Value=radRoundtrip”(注意不要選擇引號),右擊滑鼠,選擇Encrypt string選現,指令碼會變為:

"Name=grpType", lr_decrypt("40d176c46f3cf2f5fbfaa806bd1bcee65f0371858163"), ENDITEM,

web_submit_form支援Web虛擬使用者,不支援WAP虛擬使用者。

例子:
下面的例子中,web_submit_form 函式的名字是“employee.exe”。此函式提交了一個請求,此請求包含僱員資訊John Green。此函式沒有使用屬性(Attributes)是因為通過資料項已經能唯一的標識這個Form了。

web_submit_form("employee.exe",

       ITEMDATA,

       "name=persons", "value=John Green - John", ENDITEM,

       "name=go_page", "value=Go to Page", ENDITEM,

       LAST);

web_submmit_data
語法:
Int web_submit_data ( const char *StepName, , ITEMDATA, , [ EXTRARES, ,] LAST ); 

返回值
返回LR_PASS(0)代表成功,LR_FAIL(1)代表失敗。

引數:
StepName:步驟名稱,VuGen中樹形檢視顯示的名稱。

List of Attributes:支援以下屬性:

1.      Action:Form中的ACTION屬性,指定了完成Form中的操作用到的URL。

2.      Method:表單提交方法:POST或GET(預設是POST)。

3.      EncType:編碼方式。

4.      EncodeAtSign:是否使用ASCII值對符號“@”編碼。Yes或者 No。

5.      TargetFrame:包含當前連結或資源的Frame。參見List of Attributes的同名引數。

6.      Referer、Mode:參見List of Attributes的同名引數。

ITEMDATA:資料域和屬性的分隔符。

List of Data:

資料域列表定義了表單提交的內容。由於此請求是上下文無關的,因此資料域包含了所有的隱含域。使用Form的編碼規則組織資料域。

資料域列表可以使用下面任意一種格式:

         "name=n1", "value=v1", ENDITEM,

"name=n2", "EncryptedValue=qwerty", ENDITEM,

EXTRARES:分隔符,標記下一個引數將是資源屬性的列表。

List of Resource Attributes:參見List of Resource Attributes。

LAST:結束標記符。

說明
web_submit_data函式處理無狀態或者上下文無關的表單提交。它用來生成表單的GET或POST請求,這些請求與Form自動生成的請求是一樣的。傳送這些請求時不需要表單上下文。

當VuGen設為基於URL的錄製模式,或者基於HTML的錄製方式但是Recording Options—HTML Advanced 下的A script containing explicit URLs only 選項被選中時,web_submmit_data函式才會錄製到。

不論你採用URL查詢的方式(GET),還是採用請求體傳送(POST)的方式,此函式都指示出Form中的資料是如何傳送到伺服器的。

如果VuGen處於HTTP錄製模式下,此時記錄Web程序時,會產生此函式。在提交Form時,如果無法生成web_submit_form函式,VuGen也會生成web_submit_data函式。

在錄製選項中,Toos—Recording Option下—Recording選項中,有一個Advanced HTML選項,可以設定是否錄製非HTML資源。只有選擇了“Record within the current script step”時,List of Resource Attributes才會被錄製到。非HTML資源的例子是gif和jpg圖象檔案。

EncType屬性給出一個內容型別,指定其做為“Content-Type”請求頭的值。它指示了根據引數生成HTTP請求時使用的編碼型別(不是URL-encoding就是multi-part)可以是下面的格式:

1.      “EncType=application/x-www-form-urlencoded”

2.      “EncType=multipart/form-data” (任何的“; boundary=”都會被預設忽略掉)

3.      “EncType=” (空串,表明沒有產生內容型別(“Content-Type”)請求頭)

任何對於“EncType”的指定都會覆蓋web_add_[auto_]header函式指定的Content-Type。當省略了 “EncType”時,任何一個web_add_[auto_]header函式都會起作用。如果既沒有指定EncType也沒有 web_add_[auto_]header函式,且“Method=POST”,“application/x-www-form- urlencoded”會做為預設值來使用。其他情況下,不會產生Content-Type請求頭。

ContentType:檔案型別識別符號,如果“EncType”是“multipart/form-data”用來上傳檔案時,需要用到 “ContentType”。當在ITEMDATA中的Data子句中指定了“File=Yes”,且檔案也在此子句中,ContentType才適用, 此時它會作為同一個子句的值來傳遞。

正常情況下,“Content-Type”根據所上傳檔案的副檔名自動生成。例如:

-----------------------------7d025e2b16b064e\r\n Content-Disposition: form-data; name="uploaded_file"; filename="D:\\temp\\a.txt"\r\n Content-Type: text/plain\r\n \r\n

無論如何,對於非瀏覽器的程式來說是特殊的,根據檔案型別生成的“ContentType”不一定是正確的。這時,通過手工指定來覆蓋預設的“ContentType”。如果指定了空值,那麼“Content-Type”頭將不包含在檔案中。

如果沒有顯示的指定“ContentType”的值,當上傳的檔案為空時,不管副檔名是什麼,都預設使用“application/x-unknown-content-type”做為”ContentType”的值。

VuGen不會檢查指定的ContentType是否有效。

通常情況下,如果錄製了web_submit_data 函式,VuGen會把“name”和“value”一起錄製到ITEMDATA一節中。如果不想在指令碼中以明文顯示“value”,可以對它進行加密。把 “Value”改為“EncryptedValue”,然後把錄製到的值改為加密後的值。請參考web_submit_form中相關的內容。

所有的Web虛擬使用者,執行在HTTP模式下的WAP使用者,執行在WSP回放模式下的WAP使用者都可以使用本函式。

例子
下面的例子中,web_submit_data函式使用POST方法提交了一個表單。

web_submit_data("default.aspx",

       "Action=http://lazarus/flightnet/default.aspx",

       "Method=POST",

       "TargetFrame=",

       "RecContentType=text/html",

       "Referer=http://lazarus/flightnet/",

       "Snapshot=t7.inf",

       "Mode=HTML",

       ITEMDATA,

       "Name=grpType", "Value=radRoundtrip", ENDITEM,

       "Name=lstDepartingCity", "Value=DEN", ENDITEM,

       "Name=lstDestinationCity", "Value=LAX", ENDITEM,

       "Name=txtDepartureDate", "Value=8/19/2003", ENDITEM,

       "Name=txtReturnDate", "Value=8/19/2003", ENDITEM,

       "Name=txtQuantity", "Value=1", ENDITEM,

       "Name=radClass", "Value=1", ENDITEM,

       "Name=radSeat", "Value=1", ENDITEM,

       "Name=btnAvailableFlights", "Value=Next >", ENDITEM,

       LAST);

下面的例子, web_submit_data函式使用POST方法提交了2個檔案。

web_submit_data("Attachments",

       "Action=http://[email protected]/Attachments?YY=45434",

       "Method=POST",

       "EncType=multipart/form-data",

       "TargetFrame=",

       "RecContentType=text/html",

       "Referer=http:///[email protected]/Compose?YY=20435",

       "Snapshot=t5.inf",

       "Mode=HTML",

       ITEMDATA, "Name=userFile0",

              "Value=E:\\sense_sensibility\\Elinor.txt",

              "File=yes",

              "ContentType=text/html", // 覆蓋了文字檔案預設的“text/plain” 值。

       ENDITEM,

              "Name=userFile1",

              "Value=E:\\sense_sensibility\\Marianne.jpg",

              "File=yes",

       ENDITEM,

       LAST);

相關推薦

Loadrunner常用函式()

web_url 語法: Int Web_url(const char *name, const char * url, , [EXTRARES,,LAST) 返回值 成功時返回LR_PASS (0),失敗時返回 LR_FAIL (1)。 引數: Name:VuGen中

DB2常用函式

1、VALUE函式 語法:VALUE(expresion1,expresion2) VALUE函式是用於返回一個非空的值,如果expresion1不為空則返回expresion1,如果expresion1為空則返回expresion2; 示例:SELECT   VALUE(

loadrunner關聯函式

1.什麼值需要關聯?客戶端的某個請求是隨著伺服器端的相應而動態變化的值,則需要關聯。2.web_reg_sava_param舉例:web_reg_save_param("jws_session","LB=JWS_SESSION=\"","RB=\"",LAST);解釋:jws

EXCEL常用函式

1、ABS函式  函式名稱:ABS   主要功能:求出相應數字的絕對值。   使用格式:ABS(number)   引數說明:number代表需要求絕對值的數值或引用的單元格。   應用舉例:如果在B2單元格中輸入公式:=ABS(A2),則在A2單元格中無論輸入正數(如100)還是負數(如-100),B2中均

STL之map與pair與unordered_map常用函式

STL之map與pair與unordered_map常用函式詳解 一、map的概述 map是STL的一個關聯容器,它提供一對一(其中第一個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值)的資料處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道

【python+selenium的web自動化】- 元素的常用操作()

如果想從頭學起selenium,可以去看看這個系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html ​ **本篇主要內容:1.元素的基本操作;2.等待操作;3.iframe操作;4.alert彈出框** ​ **下篇主要內容

logback logback.xml常用配置)<configuration> and <logger>

配置文件 cti 原創文章 分類 lis ali 配置 默認值 原創 摘自:http://aub.iteye.com/blog/1101260logback logback.xml常用配置詳解(一)<configuration> and <logger&

深入理解計算機系統配套實驗() data lab 函式

/* 135. * bitAnd - x&y using only ~ and | 136. * Example: bitAnd(6, 5) = 4 137. * Legal ops: ~ | 138. * Max ops: 8 139. *

logback logback.xml常用配置) and

部落格分類:  Log 詳細整理了logback常用配置, 不是官網手冊的翻譯版,而是使用總結,旨在更快更透徹的理解其配置 logback 中文手冊 (官網手冊的翻譯版,在這裡向中文版譯者-陳華,說聲辛苦啦) logback 配置詳解(

Linux常用命令)--技術流ken

  本節內容   基礎命令:lsmanpwdcdmkdirechotouchcpmvrmrmdircatmorelessheadtailclearpoweroffreboot進階命令(下一章節):aliasunaliasunamesuhostnamehistorywhichwcwwh

Loadrunner關於頁面檢查的幾個函式

環境:51Testing軟體測試網]~d$s7C_Loadrunner版本:8.0h3o B4xH.^'| V7QV247706自建一個test.html檔案:51Testing軟體測試網L+/,@+|(TX7p<html>51Testing軟體測試網$l]7QF

LoadRunner檔案操作函式

涉及的函式彙總: 檔案的開啟操作 fopen 開啟一個檔案 檔案的關閉操作 fclose 關閉一個檔案 檔案的讀寫操作 fgetc 從檔案中讀取一個字元          fputc 寫一個字元到檔案中去      

Java學習系列()Java的執行機制、JDK的安裝配置及常用命令

Java的執行機制:Java源程式經過編譯器編譯成平臺無關的位元組碼,位元組碼由虛擬機器解釋執行,虛擬機器將每一條要執行的位元組碼傳送給特定平臺的直譯器,直譯器將其翻譯成相應平臺上的機器碼,然後執行在該平臺上,又由於執行時依然保留了解釋這樣就保證了Java程式能跨平臺了。J

TCP通訊常用的send,sendto,recv,recvfrom函式

send函式 int send( SOCKET s,    const char FAR *buf,    int len,    int flags );  不論是客戶還是伺服器應用程式都用send

LoadRunner函式之web_submit_data

定義:處理無狀態或者上下文無關的表單提交。它用來生成表單的GET或POST請求,這些請求與Form自動生成的請求是一樣的,傳送這些請求時不需要表單上下文。 函式形式:web_submit_data(

LoadRunner函式之web_reg_save_param_ex

定義:將請求的動態資料資訊儲存到一個引數 函式形式:web_reg_save_param_ex( const char *ParamName, [const char *LB, ][const cha

linux系統常用命令

遠程登錄 ring 問號 鏈接 重置 帳號 查看 tar 更新 Linux命令格式:命令選項參數 (大部分命令是這個格式) 註意: 1.命令區分大小寫 2.短選項可以合並 長選項不能合並 如 : 短選項 -l -h 可以合並為 -lh 長選項 不能合並 1

Mysql高手系列 - 第10篇:常用的幾十個函式,收藏慢慢看

這是Mysql系列第10篇。 環境:mysql5.7.25,cmd命令中進行演示。 MySQL 數值型函式 函式名稱 作 用 abs 求絕對值 sqrt 求二次方根 mod 求餘數 ceil 和 ceiling 兩個函式功能相同,都是返回不小於引數的最小整數,即向上取整 floo

Docker常用命令

nbsp 詳解 .cn 本地 test 並且 www 更多 top docker ps 查看當前正在運行的容器 docker ps -a 查看所有容器的狀態 docker start/stop id/name 啟動/停止某個容器 docker attach id 進

Canny邊緣檢測算法原理及其VC實現()

常用 差分 實現圖 還需要 鏈接 傳感器 出了 關系 位置 轉自:http://blog.csdn.net/likezhaobin/article/details/6892176 圖象的邊緣是指圖象局部區域亮度變化顯著的部分,該區域的灰度剖面一般可以看作是一個階躍,既從