中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

性能測試-JMeter關聯之正則表達式介紹

發布時間:2020-06-07 23:13:39 來源:網絡 閱讀:488 作者:szchuanshi 欄目:軟件技術

為什么要關聯???

在客戶端與服務器通信過程中,多個請求/響應間的數據會有相互依賴的關系。比如上一個請求返回的某些響應數據在后續的請求中需要用到。

下面是一些典型的例子:

1)比如第一次訪問網站獲取的session id在后續的請求都會將其傳給網站;

2)服務器生成token返回給用戶,在后續的請求中要帶上token;

3)根據條件查詢某記錄,在查詢結果集中選擇記錄進行操作(比如刪除)

...

但是有些通信協議是無狀態的,不存在上下文相關性。多個請求/響應之間的數據不能直接進行傳遞;

并且每次服務器返回的數據不是一成不變的,傳遞的數據不能通過硬編碼(寫死)保存來解決。

比如上面三種情況都會產生動態變化的數據:

1)session id的生命周期一般在關閉瀏覽器時就結束了,每次打開瀏覽器訪問返回的session id并不相同;

2)token也有生命周期,一般也是隨機,無狀態的;

3)若查詢條件參數化了或服務器返回的查詢結果集改變了,后續的操作可能會失敗。

在這些情況下,可以考慮將服務器返回的動態變化的數據保存到某個參數中,需要時再從中取出。

一、關聯原理

舉個例子,看電影,看電影過程有如下步驟:

  1.購票

  2.驗票

  3.觀影

每個步驟可以看做一個請求/響應。觀眾相當于客戶端,影院方相當于服務器。

過程如下圖所示:
性能測試-JMeter關聯之正則表達式介紹
觀眾購買的電影票可以看成服務器返回的響應數據,要驗票通過才能入場觀影。

觀眾購票相當于一個請求,驗票是下一個請求,這需要將上一個請求返回的響應數據(電影票)放在下一個請求中發送給服務器處理。

假設這部電影非常精彩,想重新再看一次,因為電影票只能使用一次,觀眾必須重新購票,才能驗票通過入場;使用第一次購買的電影票入場肯定會被拒之門外。

為了解決這個問題,可以考慮做如下假設:

每次將購買的電影票放入隨身攜帶的LV錢包,并且在放入之前將使用過的票丟棄,以防止入場時掏錯票;入場的時,從錢包中取出票來驗票,這樣就萬無一失了。

將電影票放入錢包中,相當于將服務器返回的數據保存起來了,這里錢包就是保存關聯數據的參數。

二、關聯的定義

將服務器返回的數據包中滿足條件的數據保存到一個參數中的過程。

怎樣將服務器返回的數據保存起啦,JMeter中可以使用后置處理器來處理關聯數據,常見的方法有:

1、正則表達式提取器

2、JSON提取器

需要關聯數據的特征

怎樣確定哪些數據是需要做關聯的,可以從關聯數據的特征來識別出這些數據。關聯數據有如下三個特征:

1.服務器返回

需要關聯的數據一定是從服務器返回的。

客戶端輸入的數據不需要進行關聯,比如輸入的用戶名與密碼。此特征是必選的。

2.數據會再次發送給服務器處理

保存上一個請求響應的數據,其目的是為了將其用于下一個請求中,否則保存起來沒有意義。

此特征是可選特征,也就是說不再次發送也是可以保存數據進行關聯的。

3.數據動態變化

上一個請求響應的數據若不會動態變化,完全可以寫死在腳本中,不需要花力氣額外保存再次取出。

正是由于每次返回的數據動態變化,我們需要根據某種規則將這些動態變化的數據找出來保存,

然會取出實際返回的數據。但此特征也是可選的。不動態變化一樣可以保存進行關聯,但意義不大。

三、正則表達式介紹

JMeter通過內嵌的Apache Jakarta ORO軟件來解析處理正則表達式。

Jakarta-ORO是用于處理文本的一組Java類,是目前功能最全性能最好的正則表達式API之一,它提供兼容Perl5類型的正則表達式。

單行模式與多行模式
性能測試-JMeter關聯之正則表達式介紹

元字符
性能測試-JMeter關聯之正則表達式介紹
性能測試-JMeter關聯之正則表達式介紹

擴展正則表達式
性能測試-JMeter關聯之正則表達式介紹
性能測試-JMeter關聯之正則表達式介紹
性能測試-JMeter關聯之正則表達式介紹

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄梅县| 乾安县| 邳州市| 镇远县| 陆良县| 南雄市| 沈阳市| 平昌县| 苍山县| 卓尼县| 当涂县| 丰台区| 青浦区| 尤溪县| 从化市| 中江县| 云和县| 赤壁市| 庄浪县| 鸡西市| 朝阳县| 张家界市| 高碑店市| 正镶白旗| 富川| 菏泽市| 芜湖县| 元阳县| 密云县| 伽师县| 哈巴河县| 仙居县| 沿河| 白玉县| 灌南县| 贵德县| 涡阳县| 眉山市| 米林县| 井陉县| 芜湖市|