導航:首頁 > 編程語言 > phploadrunner

phploadrunner

發布時間:2022-03-13 02:38:32

1. loadrunner錄制腳本問題

遇到360的那一段刪掉就可以了
理論上來說是不影響腳本的
要不就是你先把360相關的進程和程序關閉了,然後再錄制,就不會錄制到這些東西了

2. php+mysql 後台,需要用loadrunner做一個前端頁面並發訪問的壓力測試,請教 !請附詳細步驟哦,謝謝。

參考 13.很多快樂和回憶就是那樣的不可復制。珍惜眼前擁有的是不是太重要了。

3. LoadRunner學習知多少

一.關聯操作的條件

客戶端需要從服務端返回的數據中獲取部分數據,並將這部分數據處理後作為自己下一次請求的一部分發出。

那麼什麼地方需要關聯呢?
凡是腳本每次執行時都必須獲得唯一標識的地方都需要關聯。假如腳本需要關聯,如果不做關聯是不會執行通過的,也就是說會有錯誤消息發生。不過很遺憾,並沒有任何特定的錯誤消息和關聯是有關系的。會出現什麼錯誤消息,與系統實際的錯誤處理機制有關。錯誤消息有可能會提醒用戶要重新登錄,但是也可能直接就顯示HTTP 404的錯誤消息。二.如何找出要關聯的數據呢

簡單地說,每一次執行時都會變動的值,就有可能需要做關聯。

如:序列號和隨機數一般需要關聯。

常見的需要關聯的情景:

1.登錄操作

2.先查後修改,先查後刪除

3.並發控制:防止兩個用戶同時修改或同時刪除一條記錄三.一般關聯操作的步驟

從服務端返回的數據中選取需要進行關聯的操作。
將該數據存入腳本的一個參數中。
將腳本中需要使用該數據的地方用參數來替代。
註:對於WEB應用來說,一般會用一個hidden的Field存放。四.關聯分為自動關聯和手動關聯

自動關聯操作只對Web協議、DB協議和其他少數幾種協議有效,對socket等協議錄制的腳本不起作用。五.關聯函數web_reg_save_param_ex詳解

在LR11中除了對web_reg_save_param加強為web_reg_save_param_ex,還提供了另外兩個非常好用的函數web_reg_save_param_regexp和web_reg_save_param_xpath。

選項:

Parameter Name
此處設置存放參數的名稱,關聯出來的內容將會存放在該參數中。這里受到Ordinal選項的影響。

設置Parameter Name為temp,當對應的Ordinal選項是任意一個數字的時候,只會關聯一個匹配的記錄,關聯值將會存放在temp這個參數中。當Ordinal是All的時候,關聯成功後的值將會依次存放在「temp_數字」這樣的參數數組中,並且還會添加一個temp_count的參數存放關聯出來的記錄條數。

Left Boundary
此處設置左邊界,這里是用來填寫關聯對於數據處理的左匹配內容規則。

注意:如果輸入的內容裡面有雙引號,那麼需要通過轉義符\來進行處理,例如:

web_reg_save_param_ex(
"ParamName=test",
"LB=\"左邊界",
"RB=",
SEARCH_FILTERS,
LAST);

Match case
默認情況下邊界是Match case的,也就是檢查大小寫的,可以取消下面的選項來忽略大小寫檢查,會看到函數變為以下形式:

web_reg_save_param_ex(

"ParamName=test",

"LB/IC=左邊界",

"RB=",

SEARCH_FILTERS,

LAST);

Binary data
如果需要關聯的內容是非ASCII字元的,那麼需要使用該選項。選中該選項後可以看到函數變為以下形式:

web_reg_save_param_ex(

"ParamName=test",

"LB/BIN=\\x3F\\xDD",

"RB=",

SEARCH_FILTERS,

LAST);

Regular expression
該功能由函數web_reg_save_param_regexp實現。

Right Boundary
此處設置右邊界,這里是用來填寫關聯時對於數據處理的右匹配內容規則,選項同左邊界。

DFEs
在錄制選項和回放選項中我們提到過了DFE的功能,在關聯這里也支持DFE的數據處理,我們先回到錄制選項中的那個例子中,為其寫一個普通關聯看看返回(為了讓返回結果看得更清楚,這里提前使用了Scope=BODY規則,該規則作用參考後面的Scope屬性介紹)。

接著我們使用關聯的DFE功能,在這里設置關聯的DFEs格式為JsonXml(這里的格式是指系統自帶的DFE模塊的Tag名,參考圖3.35),然後還要確保Run-time settings中的DFE功能啟用,代碼變為:

web_reg_save_param_ex(

"ParamName=jsonresponse",

"LB=",

"RB=",

"DFEs=JsonXml",

"Ordinal=1",

SEARCH_FILTERS,

LAST);

web_url("json.php",

"URL=http://localhost:8000/phpwind85/json.php",

LAST);

Ordinal
這個關鍵字在很多函數裡面都有應用,在這里可以填寫任意一個整數,也可以填All。如果填寫數字,那麼說明從返回的記錄中取出對應順序的值,而填寫All的話將會返回所有的內容。

當使用Ordinal =All時,關聯函數會把所有匹配過濾策略的記錄都抓出來,由於參數只能存放一條記錄,所以關聯函數會生成一個參數數組。被關聯的記錄會以{關聯參數名_關聯id}的形式生成參數列表,並且在最後會有一個{關聯參數名_count}的參數來存放被關聯到的記錄條數。

例如,上面寫過的一個關聯熱搜關鍵字的例子,代碼如下所示:

web_reg_save_param_ex(

"ParamName=hotsearch",

"LB=

"RB=&type=thread\">",

SEARCH_FILTERS,

LAST);

當Instance設置為All時,代碼變為:

web_reg_save_param_ex(

"ParamName=hotsearch",

"LB=

"RB=&type=thread\">",

"Ordinal=ALL",

SEARCH_FILTERS,

LAST);

運行代碼後,關聯將會返回所有匹配左右邊界的內容,結果如下:

Action.c(20): Notify: Saving Parameter "hotsearch_1 = 結婚".

Action.c(20): Notify: Saving Parameter "hotsearch_2 = 母嬰".

Action.c(20): Notify: Saving Parameter "hotsearch_3 = phpwind".

Action.c(20): Notify: Saving Parameter "hotsearch_4 = testing001".

Action.c(20): Notify: Saving Parameter "hotsearch_5 = 結婚".

Action.c(20): Notify: Saving Parameter "hotsearch_count = 5".

Save Offset
設置關聯的內容偏移量,從第幾位開始進行關聯操作。回到最開始的例子,我們抓取的是You have successfully installed XAMPP on this system!,如果需要獲得successfully installed XAMPP on this system!這個字元串,則不用改變左邊界,只需要設置Save Offset為9即可,代碼為:

web_reg_save_param_ex(

"ParamName=temp",

"LB=Congratulations:
",

"RB=

",

"Ordinal=1",

"SaveOffset=9",

SEARCH_FILTERS,

"ContentType=text/html",

LAST);

Save Length
關聯出來的內容所需要保存的長度。在Save Offset的例子中我們寫到如何獲得successfully installed XAMPP on this system!這個字元串,如果我們還希望獲得這個字元串中的successfully installed XAMPP,那麼可以再添加Save Length為22,代碼變為:

web_reg_save_param_ex(

"ParamName=temp",

"LB=Congratulations:
",

"RB=

",

"Ordinal=1",

"SaveOffset=9",

"SaveLen=22",

SEARCH_FILTERS,

"ContentType=text/html",

LAST);

通過Save Length和Save Offset的設置,我們就可以方便地抓取伺服器返回的定長數據的任意一個部分了。關聯可以調整偏移量和長度,那麼參數能做到嗎?當然可以,如果需要對一個參數值進行偏移和長度設置,則需要使用lr_save_var函數,例如,下面的代碼:

lr_save_string("I come from shanghai","city");

lr_save_var(lr_eval_string("{city}"),6,0,"result");

//從city這個參數中取6位長度的內容保存到result參數中

lr_save_var(lr_eval_string("{city}")+7,4,0,"result");

//從city這個參數的第7位開始取4個長度的內容保存到result參數中

可以看到運行的結果是:

Action.c(3): Notify: Saving Parameter "city = I come from shanghai"

Action.c(4): Notify: Saving Parameter "result = I come"

Action.c(5): Notify: Saving Parameter "result = from"Warm if text was not found (Default is Error)
如果關聯的對象不存在,又該如何進行處理呢?默認值為Error,默認情況下如果沒有關聯到任何內容則提示錯誤。

Filters
下面的選項都是幫助關聯返回限定的,通過這些設置可以進一步減少返回的范圍。

Scope
該項設置關聯查詢的范圍,在LR11中和以前的范圍做了一些調整,應該算是更加強大了,這里Scope提供了4個選項:Body、Headers、Cookies、All。

1)ALL

比較容易理解,就是讓伺服器的返回所有內容作為需要關聯的目標來處理。

2)Headers/Body/Cookies

這3個選項都是從請求返回的所有內容進行關聯處理,包括圖片、JavaScript腳本等。區別在於對返回信息的分隔方式。在前面介紹HTTP的時候介紹過HTTP返回的內容其實是由Header(HTTP信息頭)和Body(HTTP內容)組成的,而Cookie又是Header中的一部分,在Tree模式下的HTTP View視圖中可以清晰地看到LR如何定義各塊內容。當我們對Phpwind登錄返回做關聯時,不同的Scope帶來的效果如下。

3)Header

指所關聯的內容是所有伺服器返回請求的HTTP頭部分內容。可以通過查看伺服器返回內容來了解,Body之前的內容都屬於Header:

4)Body

就是伺服器返回在Body以後的內容:

5)Cookie

指Header部分關於Cookie定義的部分內容。

Request URL

這里提供了針對URL地址的過濾方式來減少關聯范圍,例如,我們可以填寫*.php來說明只對PHP頁面進行過濾。

Content Type

回顧我們在講錄制下載操作的時候,提到了Content Type這個概念,這樣在錄制的時候可以通過這個特性來過濾錄制對象。而在關聯這里,這個屬性的效果是相同的,在網站應用中,我們要關聯的內容一般都存放在HTML頁面中,所以這里我們通常都是用text/html來作為Content Type過濾規則的。

Frame ID

這個選項是專門針對框架結構的網站設計的,有些時候需要關聯的內容是在某個框架中的,這個時候就需要說明所關聯的頁面是框架中的哪一個了。

Ignore Redirection
在某些情況下系統會使用HTTP 3xx的重定向操作來完成頁面跳轉,該選項是用來忽略跳轉頁面信息的。如果選中該選項,通過這種重定向技術的頁面將不會被關聯。有時需要配合使用web_set_max_html_param_len函數可以自定義關聯返回值存放的參數的最大長度。

4. php有沒有性能測試工具

php一般是寫網頁的,性能測試可以拿jmeter,loadrunner這些性能工具去壓測

5. Loadrunner中的關聯是什麼意思

ons】>【Correlation】中選中「save correlation information ring replay」和「show scan for correlations popup after replay of vuser」,當回放玩腳本後,會彈出Scan action for correlation窗口,進行關聯點的搜索 2.錄制腳本 錄制腳本的過程在這里就不多說了 3.回放腳本 如果錄制的腳本存在需要做關聯的部分,那麼在回放腳本時會出現錯誤 4.系統自動彈出檢測關聯對話框,或手動啟動關聯檢測對話框 如果選擇了【Tools】>【general options】>【Correlation】中的「save correlation information ring replay」和「show scan for correlations popup after replay of vuser」,那麼在回放腳本後會自動彈出「Scan action for correlation」窗口,點擊「yes」進行自動查找 如果沒有選擇上述設置,那麼也可以按CTRL+F8啟動關聯自動搜索 5.查看系統檢測出的關聯點進行關聯設置 如果在錄制和回放中存在差異,loadrunner會在「Correlation Results」中列出需要做關聯的內容,用滑鼠點擊一條需要做關聯的內容,點擊「Create Rule」,系統會顯示獲得當前數據的規則,點擊「yes」,完成規則的創建,同時查看腳本中增加了一個web_reg_save_param函數 也可以點擊【Correlate】按鈕創建關聯,一筆一筆做,或是按下【Correlate All】讓VuGen一次就對所有的數據建立關聯。 注意:由於Correlation Studio會找出所有有變動的數據,但是並不是所有的數據都需要做關聯,所以不建議您直接用【Correlate All】。 6.回放腳本檢查關聯的正確性 創建好關聯後,回放腳本檢查關聯的正確性 三、手動關聯 手動關聯的過程大致如下: 第一步:錄制測試腳本,錄制二遍 第二步:使用WinDiff工具找出兩次腳本的不同,判斷是否需要進行關聯 第三步:確定插入關聯的位置 第四步:在VIEW TREE中使用web_reg_save_param函數手動建立關聯 第五步:將腳本中有用到關聯的數據,用參數代替 第六步:驗證關聯的正確性 下面詳細介紹: 第一步:錄制測試腳本,錄制二遍 這一步就不用多說了,相同的操作,錄制兩份,分別保存 第二步:使用WinDiff工具協助找出需要關聯的數據 1. 在第二份腳本中,點選VuGen的【Tools】>【Compare with Vuser…】,並選擇第一份腳本。 2. 接著WinDiff會開啟,同時顯示二份腳本,並顯示有差異的地方。WinDiff會以一整行黃色標示有差異的腳本,並且以紅色的字體顯示真正差異的文字。(假如沒看到紅色字體,請點選【Options】>【View】>【Show Inline Differences】)。 查看二份腳本中差異的部份,每一個差異都可能是需要做關聯的地方。 注意:lr_thik_time部分的差異可以忽略 找到不同的部分後,復制,然後打開Recording Log或是Generation Log,按Ctrl+F,在查找窗口中粘貼差異部分的內容,點擊查找找到後,查看該部分的信息,確認是客戶端的請求信息還是伺服器回應的信息 如果出現在$$$$$$ Request Header For Transaction With Id 3 Ended $$$$$$這個部分,那證明是客戶端發出的請求,這里是不需要做關聯的 一般做的關聯都是出現在****** Response Header For Transaction With Id 7 ******和****** Response Body For Transaction With Id 7 ******中的部分。 在找到這個信息後,需要記錄如下信息: a、記錄這個不同數據之前的內容和之後的內容 b、記錄這個不同數據出現的位置,是Header還是Body 第三步:確認插入關聯的位置 我們在日誌中找到了兩次腳本的不同點的位置,根據這個位置,我們再確定是在哪個請求之後產生的,也就是說要定位發生不同點的response是由哪個request產生的,找到了這個請求的函數位置,我們就知道要往哪裡做關聯了。 一般情況下關聯函數寫到發出請求的函數之前就可以了。 第四步:插入關聯函數 在插入關聯函數前,我們先介紹關聯函數web_reg_save_param 一個web_reg_save_param函數的例子: web_reg_save_param ("sessionid", "LB=Session_id:", "RB=;", "Search=Body", LAST); 在這里我們只介紹幾個常用參數的含義 語法:int web_reg_save_param(const char *ParamName,, LAST); 參數說明: ParamName: 存放得到的動態內容的參數名稱 list of Attributes: 其它屬性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。屬性值不分大小寫 LB( Left Boundary ) : 返回信息的左邊界字串。該屬性必須有,並且區分大小寫。 RB( Right Boundary ): 返回信息的右邊界字串。該屬性必須有,並且區分大小寫。 Search : 返回信息的查找范圍。可以是Headers,Body,Noresource,All(預設)。該屬性質可有可無。 那麼如何插入該關聯函數呢? 1.將vugun切換到 view tree 模式下 2.在左邊的列表中,找到在上一步發出請求的函數,點擊「右鍵」 選擇「insert before」 3.在彈出的「add step」對話框的「find function」中輸入「web_reg_save_param」,點擊「ok」 在「parameter name」中輸入,關聯函數的名稱,這里最好有含義,「sessionid」 在「left boundary」中輸入,剛才記錄下的不同點字元串的左面的幾個字元,定義左邊界,Session_id: 在「right boundary」中輸入,剛才記錄下的不同點字元串的右面的幾個字元,定義右邊界,; 在「search in 」中,選擇「body」 點擊「ok」 4.回到腳本編輯模式下,查看該函數插入是否正確 在發出請求的函數前應該看到: web_reg_save_param ("sessionid", "LB=Session_id:", "RB=;", "Search=Body", LAST); 第五步:將腳本中有用到關聯的數據,用參數代替 如發出請求的參數如下,那麼將原來伺服器返回的動態值使用{ sessionid } 來替換: web_submit_form("login.php_2", "Snapshot=t2.inf", ITEMDATA, "Name=login", "Value=wangjin", ENDITEM, "Name=password", "Value=wangjin", ENDITEM, "Name=Session_id","Value={ sessionid } ", ENDITEM, "Name=Submit", "Value=Login", ENDITEM, EXTRARES, "URL=/media/images/border_bg_l.gif", ENDITEM, "URL=/media/images/header_bg.gif", ENDITEM, "URL=/media/images/th.gif", ENDITEM, LAST); 第六步:驗證關聯的正確性 回放腳本,驗證關聯的正確性。 OK!!!

6. loadrunner中是轉義字元有那些

參數param1中含有轉義字元「&」 ,這樣會導致被請求頁的參數接收錯誤。Lr中根據如下列表可以將轉移字元值轉為為16進制數。
1. + URL 中+號表示空格 %2B
2. 空格 URL中的空格可以用+號或者編碼 %20
3. / 分隔目錄和子目錄 %2F
4. ? 分隔實際的 URL 和參數 %3F
5. % 指定特殊字元 %25
6. # 表示書簽 %23
7. & URL中指定的參數間的分隔符 %26
8. = URL中指定參數的值 %3D
9.;URL中指定參數值為 %3B
eg:
web_custom_request("GetFileList",
"URL=http://kortide.tonidoid.com/dyn/ecloud/r.php?proxyMethod=GetFileList?parentDir=e:\\%26filter=bat,txt,avi",
"Method=get",
"RecContentType=application/json",
"EncType=text/plain; charset=utf-8",
LAST);

7. loadrunner的關聯具體情況

一、什麼時候需要關聯
1.關聯的含義
關聯(correlation):在腳本回放過程中,客戶端發出請求,通過關聯函數所定義的左右邊界值(也就是關聯規則),在伺服器所響應的內容中查找,得到相應的值,已變數的形式替換錄制時的靜態值,從而向伺服器發出正確的請求,這種動態獲得伺服器響應內容的方法被稱作關聯。
其實關聯也屬於一同特殊的參數化,只是與一般的參數化有些不同
一般的參數化的參數來源於一個文件、一個定義的table、通過sql寫的一個結果集等,但關聯所獲得的參數是伺服器響應請求所返回的一個符合條件的、動態的值
2.什麼時候需要做關聯
要想弄清這個問題,我們首先要知道客戶端與伺服器端的請求與響應的過程
過程說明:
客戶端發出獲得登錄頁面的請求
伺服器端得到該請求後,返回登錄頁面,同時動態生成一個Session Id
當用戶輸入用戶名密碼,請求登錄時,該Session Id同時被發送到伺服器端
如果該Session Id在當前會話中有效,那麼返回登錄成功的頁面,如果不正確則登錄失敗
在第一次錄制過程中loadrunner把這個值記錄了下來,寫到了腳本中,但再次回放時,客戶端發出同樣的請求,而伺服器端再一次動態的生成了Session Id,此時客戶端發出的請求就是錯誤的,為了獲得這個動態的Session Id我們這里用到了關聯。
所以我們得出結論:
當客戶端的某個請求是隨著伺服器端的相應而動態變化的時候,我們就需要用到關聯
當然我們在錄制腳本時應該對測試的項目進行適當的了解,知道哪些請求需要用到伺服器響應的動態值,如果我們不明確那些值需要做關聯的話,我們也可以將腳本錄制兩遍,通過對比腳本的方法來查找需要關聯的部分,但並不是說兩次錄制的所有不同點都需要關聯,這個要具體情況具體分析

二、自動關聯 loadrunner參數化
自動關聯包含兩種機制:
一種是loadrunner通過對比錄制和回放時伺服器響應的不同,而提示用戶是否進行關聯,用戶可自己創建關聯規則,這個功能可以方便的使我們獲得需要關聯的部分,但同時也存在一定的問題,如:自動關聯所檢測到的關聯點不一定真的需要進行關聯,這要我們更具實際情況進行判斷;有些需要關聯的動態數據自動關聯無法找到,這是就需要做手動關聯
另一種是loadrunner自帶的自動關聯規則,在錄制腳本時,會根據這些規則自動創建關聯
自動關聯的步驟如下:
1.開啟自動關聯選項
剛才提到的兩種關聯機制,如果用戶想使用loadrunner自帶的關聯規則創建關聯,那麼需要在【Recording Options】>【Internet Protocol】>【Correlation】中啟用關聯規則,選中「Enable correlation ring recording」,當錄制這些應用系統的腳本時,VuGen會在腳本中自動建立關聯。也可以在【Recording Options】>【Internet Protocol】>【Correlation】中添加關聯規則,達到自動關聯的目的。
如果需要在回放腳本時,loadrunner自動檢測需要關聯的部分,那麼需要在【Tools】>【general options】>【Correlation】中選中「save correlation information ring replay」和「show scan for correlations popup after replay of vuser」,當回放玩腳本後,會彈出Scan action for correlation窗口,進行關聯點的搜索
2.錄制腳本
錄制腳本的過程在這里就不多說了
3.回放腳本
如果錄制的腳本存在需要做關聯的部分,那麼在回放腳本時會出現錯誤
4.系統自動彈出檢測關聯對話框,或手動啟動關聯檢測對話框
如果選擇了【Tools】>【general options】>【Correlation】中的「save correlation information ring replay」和「show scan for correlations popup after replay of vuser」,那麼在回放腳本後會自動彈出「Scan action for correlation」窗口,點擊「yes」進行自動查找
如果沒有選擇上述設置,那麼也可以按CTRL+F8啟動關聯自動搜索
5.查看系統檢測出的關聯點進行關聯設置
如果在錄制和回放中存在差異,loadrunner會在「Correlation Results」中列出需要做關聯的內容,用滑鼠點擊一條需要做關聯的內容,點擊「Create Rule」,系統會顯示獲得當前數據的規則,點擊「yes」,完成規則的創建,同時查看腳本中增加了一個web_reg_save_param函數
也可以點擊【Correlate】按鈕創建關聯,一筆一筆做,或是按下【Correlate All】讓VuGen一次就對所有的數據建立關聯。
注意:由於Correlation Studio會找出所有有變動的數據,但是並不是所有的數據都需要做關聯,所以不建議您直接用【Correlate All】。
6.回放腳本檢查關聯的正確性
創建好關聯後,回放腳本檢查關聯的正確性

三、手動關聯
手動關聯的過程大致如下:
第一步:錄制測試腳本,錄制二遍
第二步:使用WinDiff工具找出兩次腳本的不同,判斷是否需要進行關聯
第三步:確定插入關聯的位置
第四步:在VIEW TREE中使用web_reg_save_param函數手動建立關聯
第五步:將腳本中有用到關聯的數據,用參數代替
第六步:驗證關聯的正確性
下面詳細介紹:
第一步:錄制測試腳本,錄制二遍
這一步就不用多說了,相同的操作,錄制兩份,分別保存
第二步:使用WinDiff工具協助找出需要關聯的數據
1. 在第二份腳本中,點選VuGen的【Tools】>【Compare with Vuser…】,並選擇第一份腳本。
2. 接著WinDiff會開啟,同時顯示二份腳本,並顯示有差異的地方。WinDiff會以一整行黃色標示有差異的腳本,並且以紅色的字體顯示真正差異的文字。(假如沒看到紅色字體,請點選【Options】>【View】>【Show Inline Differences】)。
查看二份腳本中差異的部份,每一個差異都可能是需要做關聯的地方。
注意:lr_thik_time部分的差異可以忽略
找到不同的部分後,復制,然後打開Recording Log或是Generation Log,按Ctrl+F,在查找窗口中粘貼差異部分的內容,點擊查找找到後,查看該部分的信息,確認是客戶端的請求信息還是伺服器回應的信息
如果出現在$$$$$$ Request Header For Transaction With Id 3 Ended $$$$$$這個部分,那證明是客戶端發出的請求,這里是不需要做關聯的
一般做的關聯都是出現在****** Response Header For Transaction With Id 7 ******和****** Response Body For Transaction With Id 7 ******中的部分。
在找到這個信息後,需要記錄如下信息:
a、記錄這個不同數據之前的內容和之後的內容
b、記錄這個不同數據出現的位置,是Header還是Body
第三步:確認插入關聯的位置
我們在日誌中找到了兩次腳本的不同點的位置,根據這個位置,我們再確定是在哪個請求之後產生的,也就是說要定位發生不同點的response是由哪個request產生的,找到了這個請求的函數位置,我們就知道要往哪裡做關聯了。
一般情況下關聯函數寫到發出請求的函數之前就可以了。
第四步:插入關聯函數
在插入關聯函數前,我們先介紹關聯函數web_reg_save_param
一個web_reg_save_param函數的例子:
web_reg_save_param ("sessionid",
"LB=Session_id:",
"RB=;",
"Search=Body",
LAST);
在這里我們只介紹幾個常用參數的含義
語法:int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST);
參數說明:
ParamName: 存放得到的動態內容的參數名稱
list of Attributes: 其它屬性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。屬性值不分大小寫
LB( Left Boundary ) : 返回信息的左邊界字串。該屬性必須有,並且區分大小寫。
RB( Right Boundary ): 返回信息的右邊界字串。該屬性必須有,並且區分大小寫。
Search : 返回信息的查找范圍。可以是Headers,Body,Noresource,All(預設)。該屬性質可有可無。
那麼如何插入該關聯函數呢?
1.將vugun切換到 view tree 模式下
2.在左邊的列表中,找到在上一步發出請求的函數,點擊「右鍵」
選擇「insert before」
3.在彈出的「add step」對話框的「find function」中輸入「web_reg_save_param」,點擊「ok」
在「parameter name」中輸入,關聯函數的名稱,這里最好有含義,「sessionid」
在「left boundary」中輸入,剛才記錄下的不同點字元串的左面的幾個字元,定義左邊界,Session_id:
在「right boundary」中輸入,剛才記錄下的不同點字元串的右面的幾個字元,定義右邊界,;
在「search in 」中,選擇「body」
點擊「ok」
4.回到腳本編輯模式下,查看該函數插入是否正確
在發出請求的函數前應該看到:
web_reg_save_param ("sessionid",
"LB=Session_id:",
"RB=;",
"Search=Body",
LAST);
第五步:將腳本中有用到關聯的數據,用參數代替
如發出請求的參數如下,那麼將原來伺服器返回的動態值使用{ sessionid } 來替換:
web_submit_form("login.php_2",
"Snapshot=t2.inf",
ITEMDATA,
"Name=login", "Value=wangjin", ENDITEM,
"Name=password", "Value=wangjin", ENDITEM,
"Name=Session_id","Value={ sessionid } ", ENDITEM,
"Name=Submit", "Value=Login", ENDITEM,
EXTRARES,
"URL=/media/images/border_bg_l.gif", ENDITEM,
"URL=/media/images/header_bg.gif", ENDITEM,
"URL=/media/images/th.gif", ENDITEM,
LAST);
第六步:驗證關聯的正確性
回放腳本,驗證關聯的正確性。
OK!!!

8. LoadRunner學習知多少

sublime text2編輯一些簡單的PHP還好,但是如果項目工程做大了,則應付不來。
與其安裝插件,不如尋求個編譯器,都是為了能更好地編寫PHP而已,而且安裝編譯器還能繼續使用sublime text2,只不過這不是整合在一起的軟體而已。
這里我覺得NetBeans這個編譯器還可以,相比Eclipse,能支持smarty3。

9. 誰有loadrunner的教程或者使用方法

http://www.boobooke.com/bbs/forumdisplay.php?fid=22播布客,是視頻,不用注冊可以看。
還有51testing也有不少。

閱讀全文

與phploadrunner相關的資料

熱點內容
linux系統運維下載 瀏覽:47
同程的簡便演算法 瀏覽:647
linux命令行管理主機 瀏覽:299
騰訊雲20元的伺服器 瀏覽:214
plsql編程入門 瀏覽:11
《fog》txt下載 瀏覽:494
怎樣用氣泡紙解壓 瀏覽:120
香港李時珍的經典電影 瀏覽:319
母親和房子電影 瀏覽:141
收盡天下女明星的超級主播 瀏覽:469
程序員的ios游戲 瀏覽:719
可以在線看 瀏覽:56
十三武士迅雷 瀏覽:809
網站好看,網站不用下載 瀏覽:153
優聊app怎麼上不去了賬號不存在 瀏覽:465
楚天的小說主角 瀏覽:86
重生到民國成為浙江督軍的小說 瀏覽:531
玄幻推母 瀏覽:770
周潤發黃百鳴電影 瀏覽:815
mfc列印pdf 瀏覽:522