1. 程式人生 > >loadrunner:關聯操作

loadrunner:關聯操作

文章以例項講解loadrunner中的關聯操作,內容包括:自動關聯、手動關聯和關聯規則的設定。

1.1.1     準備工作

在web tours專案預設設定裡,登入操作是沒有生成sessionID的,所以我們需要設定一下。

 

在“Administration Page”頁,勾選上第三個選項“Set LOGIN form's action tag to an error page.”然後儲存即可,如下圖:

 

1.1.2     自動關聯

首先要錄指令碼,這個比較容易自己操作即可。

回放指令碼:回放之前要開啟recording Options 視窗,點選correlation標籤頁,確保Enable correlation during recording 選項處於勾選狀態,如下圖

 

回放日誌如下,出現了異常:web_image("SignOff Button")沒找到。

 

我們再看回放視窗的最後一個回放記錄頁面,如下圖,web tours提示我們可能是因為session的原因。通常出現sessionID這些動態資訊的時候,我們就需要找出關聯值,做關聯操作。

 

這時候我們可以通過掃描指令碼查詢關聯值,如下圖點選“Scan script for Correlations”,也可以用快捷鍵ctrl+F8.

 

如下圖,在掃描結果中我們找到了sessionID

 

下面我們對這個sessionId做關聯,選中這一大串sessionID,然後右鍵點選“Create Correlation”

 

在上面的彈出框中點選“是”,然後回到指令碼中可以看到已經生成了一塊函式web_reg_save_param_ex,被儲存的引數名為“CorrelationParameter_1”

 

最後,開啟登入函式塊,並引數化sessionID,如下圖。

 

到此設定關聯已完成,回放指令碼即可通過。

1.1.3     設定關聯規則,生成關聯

如果我們預先知道要關聯的內容,那麼我們可以自己設定關聯規則,這樣在錄製的過程中指令碼就會自動生成關聯。

Recording Options > Correlation > New Application(新增"web tours") > New Rule設定規則。如下圖為我們設定好的關聯規則

 

然後我們直接錄製指令碼。

檢視指令碼,我們可以看到已經生成了關聯引數,並且引數已經應用在請求當中,如下兩個圖:

 

1.1.4     手動關聯

1)         對同一操作錄製兩個指令碼;

2)         使用LR自帶的指令碼對比工具WDiff:Tool > compare with Script...,開啟如下圖所示,對比兩個指令碼;

 

3)         對比兩個指令碼,找到需要關聯的內容(這時候需要注意,指令碼不一至的內容不一定需要關聯);

4)         使用web_reg_save_param進行關聯:Insert .> New Step...,找到web_reg_save_param函式

 

5)     填寫引數名左右邊界等資訊(其他屬性不懂的可自行百度)

 

6)     點選“OK”生成函式,如下圖:

 

7)     最後呼叫引數,並回放指令碼,執行通過。

手動關聯的一般步驟:

1、錄製兩次相同的指令碼;

2、使用loadrunner自帶的WDiff(Tools->Compare with script)工具,找出兩次指令碼錄製的不同之處,判斷是否需要關聯;

3、確定插入關聯的位置;

4、在指令碼檢視中插入web_reg_save_param函式建立手動關聯;

5、將指令碼中需要建立關聯的資料用引數替換;

6、驗證關聯的正確性。

下面詳細介紹步驟:

1、錄製完一次指令碼並儲存,這裡儲存為basic_tutorial_1(錄製的步驟根據loadrunner 11 幫助文件上的例項);

2、再次進行相同的步驟進行第二次錄製,儲存為basic_tutorial_2,點選【Tools】->【Compare with script】,彈出檔案選擇框,選中名為basic_tutorial_1的檔案。

3、WDiff會開啟,同時顯示二份指令碼,並顯示有差異的地方。WDiff會以一整行黃色標示有差異的指令碼,並且以紅色的字型顯示真正差異的文字。(假如沒看到紅色字型,請點選【Options】>【View】>【Show Inline Differences】)。

檢視二份指令碼中差異的部份,每一個差異都可能是需要做關聯的地方,lr_thik_time部分的差異可以忽略。(詳見參考文獻1)

找到不同的部分,然後在輸出視窗的【Generation Log】中按Ctrl+F,在查詢視窗中貼上差異部分的內容,點選查詢找到後,檢視該部分的資訊,確認是客戶端的請求資訊還是伺服器迴應的資訊。
如果出現在****** Request Header For Transaction With Id 3 ******等類似的部分中,那證明是客戶端發出的請求,這裡是不需要做關聯;一般做的關聯都是出現在****** Response Body For Transaction With Id 13 ******等類似的Response部分的內容,找到這個資訊,記錄如下內容:

A、記錄這個不同資料之前的內容和之後的內容,如這裡的不同資料是帶紅色部分(<input type=hidden name=userSession value=106846.044795464ftQfiQDptcQVzzzHDcQHfpDzAfHf>)那麼它的左邊界就是"<input type=hidden name=userSession value=",而右邊界就是">"(邊界內容越詳細越好)。

B、記錄這個不同資料出現的位置,是Header還是Body。

4、確認插入關聯的位置:

需要重新執行一次指令碼,執行前先點選【Vuser(U)】->【Run-time Settings】->[Log],將【Log】中的【Enable logging】勾選上,選擇【Extended log】,將【Extended log】中的選項全部勾選上。

重新執行完指令碼後,點選輸出視窗的【Replay Log】,按CTRL+F,粘帖上<input type=hidden name=userSession value=然後找到兩次錄製指令碼不同點的位置,即如下這一行資料,雙擊此處,在指令碼中的位置之前就是需要插入關聯函式的地方。

Action.c(4): <input type=hidden name=userSession value=106853.155690563ftQzcfQpVQfiDDDDDcQHHpfffVHf>\n

5、插入關聯函式:

右擊上一步驟中,搜尋到的指令碼位置,在其上方的空白處右擊,【插入】->【新建步驟】,彈出新增步驟輸入框,輸入“web_reg_save_param”,點選確定,彈出將資料儲存到引數中輸入框,在引數名中輸入“UserSession”,左邊界“<input type=hidden name=userSession value=”,右邊界“>”,勾選搜尋範圍,選擇“正文”,然後點選確定。
成功插入後應看到如下的正確函式:

web_reg_save_param("UserSession",
"LB=input type=hidden name=userSession value=",
"RB=>",
"Search=Body",
LAST);
6、將指令碼中有用到關聯的資料,用引數代替:

如發出請求的引數如下,那麼將原來伺服器返回的動態值使用{ UserSession } 來替換:

注意這裡取變數用的是{}大括號。

7、最後驗證關聯的正確性:
  回放指令碼,驗證關聯的正確性。

相關推薦

loadrunner關聯操作

文章以例項講解loadrunner中的關聯操作,內容包括:自動關聯、手動關聯和關聯規則的設定。 1.1.1     準備工作 在web tours專案預設設定裡,登入操作是沒有生成sessionID的,所以我們需要設定一下。   在“Administrat

韋大仙--LoadRunner壓力測試詳細操作流程

srs select sign lis 動態 users 文件中 design repl 一、 錄制腳本 1.安裝完畢後,創建腳本: 點擊OK之後,會彈出網址,之後創建Action,每進一個頁面添加一個Action,錄制結束後,終止錄制。 二、 修改腳本 1.腳本

LoadRunner壓力測試詳細操作流程

一、 錄製指令碼 1.安裝完畢後,建立指令碼:   點選OK之後,會彈出網址,之後建立Action,每進一個頁面新增一個Action,錄製結束後,終止錄製。 二、 修改指令碼 1.指令碼引數化 將登入的使用者名稱密碼進行動態化,右鍵“Replace with

這些HTML、CSS知識點,面試和平時開發都需要 No8-No9(知識點媒體操作、構建表單)

password 添加屬性 自己 oval 系列 文件上傳 htm color eth 系列知識點匯總 這些HTML、CSS知識點,面試和平時開發都需要 No1-No4(知識點:HTML、CSS、盒子模型、內容布局) 這些HTML、CSS知識點,

每天一個JS 小demo之個人信息添加。主要知識點DOM操作中的表格操作,節點操作

mov src i++ blog this tex set elements img 以下是簡易效果: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">

LoadRunner 9 關聯

line direct ima tca 區別 borde border user param 1)關聯的定義 很多時候,當時錄完之後,沒有問題。過一段時間再跑腳本,就不會成功。比如session,過期了,再一次使用,就會出錯。這個時候,需要在每次訪問的時候動態的拿到sess

數據庫性能優化三程序操作優化

變量 全局 new href 客戶端程序 color 聚合 ont delete   數據庫優化包含以下三部分,數據庫自身的優化,數據庫表優化,程序操作優化.此文為第三部分   數據庫性能優化三:程序操作優化 概述:程序訪問優化也可以認為是訪問SQL語句的優化,一個好的

python開發基礎字典操作

ems append code 如果 pri 並且 常用操作 item set 一,字典操作 1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 5 # 常用操作: 6 # 7 #     存

【SQL server初級】數據庫性能優化三程序操作優化

地球 解釋 spa 記錄 employ it168 等於 bsp 實現   數據庫優化包含以下三部分,數據庫自身的優化,數據庫表優化,程序操作優化.此文為第三部分   數據庫性能優化三:程序操作優化 概述:程序訪問優化也可以認為是訪問SQL語句的優化,一個好的SQL語句是

數據挖掘算法關聯分析一(基本概念)

latin ron 來看 關聯 row 集中 items 多個 可能性 一.基本概念   我們來看上面的事務庫,如同上表所示的二維數據集就是一個購物籃事務庫。該事物庫記錄的是顧客購買商品的行為。這裏的TID表示一次購買行為的編號,items表示顧客購買了哪些商品。   事

大數據學習之十二——MapReduce代碼實例關聯性操作

reducer equal 學習 obj actor 對應關系 關系 exceptio ted 1.單表關聯 "單表關聯"要求從給出的數據中尋找所關心的數據,它是對原始數據所包含信息的挖掘。 實例描述給出child-parent(孩子——父母)表,要求輸出grandchil

Python筆記---DAY1基本操作、if語句

分支 刪除 font years cto rec else if direct tab 1、輸出字符串: print(“字符串”) 2、用python打開文檔文件: cmd 命令指示器 cd c:\ 其中cd是chang directory更改目錄,用tab鍵可快速尋找

Mysql(三)操作

相同 一行 自動 tab -- 處理機制 創建表 修改表名 auto 一 存儲引擎介紹 存儲引擎即表類型,mysql根據不同的表類型會有不同的處理機制 詳見:http://www.cnblogs.com/6324TV/p/8481061.html 二 表介

mysql二操作

mysql二:庫操作一、系統數據庫information_schema: 虛擬庫,不占用磁盤空間,存儲的是數據庫啟動後的一些參數,如用戶表信息、列信息、權限信息、字符信息等performance_schema: MySQL 5.5開始新增一個數據庫:主要用於收集數據庫服務器性能參數,記錄處理查詢請求時發生的各

mysql三操作

mysql三:表操作一、存儲引擎介紹存儲引擎即表類型,mysql根據不同的表類型會有不同的處理機制二、表介紹表相當於文件,表中的一條記錄就相當於文件的一行內容,不同的是,表中的一條記錄有對應的標題,稱為表的字段id,name,qq,age稱為字段,其余的,一行內容稱為一條記錄三、創建表語法: c

ElasticSearch筆記整理(二)CURL操作、ES插件、集群安裝與核心概念

大數據 ElasticSearch ELK [TOC] CURL操作 CURL簡介 curl是利用URL語法在命令行方式下工作的開源文件傳輸工具,使用curl可以簡單實現常見的get/post請求。簡單的認為是可以在命令行下面訪問url的一個工具。在centos的默認庫裏面是有curl工具的,如

移位運算溢出操作數須小於左操作數的位數

ret stdio.h 代碼 col 結果 gnu tmp string $1 #include <stdio.h> int main(){ int x = 1 << 32; int y = 32;

JQueryDOM操作、屬性操作、CSS操作的常用方法

ndt mar dom pin disable cli top .text acea DOM操作 1.append在div1的內部最後追加一個圖片   $("#div1").append("<img src=‘........‘/>"); 2.appendTo把

IntelliJ IDEA(十) 常用操作

git 插入 AI 其他 truct 設置 提醒 鍵盤 AS IDEA功能詳細,快捷鍵繁多,但是實際開發時不是所有都能用上,如果我們熟悉一些常用的也足夠滿足我們日常開發了,多的也只是提高我們的B格。 1.自定義主題 IDEA默認的主題有三款,分別是IntelliJ,Da

Python入門集合操作

關系 重復 nbsp not 測試 inter CA not in nio 集合是一個無序的、不重復的數據組合,它的主要作用如下: (1)去重,把一個列表變成集合,就自動去重了 (2)關系測試,測試兩組數據之間的交集、差集、並集等關系 操作如下: l