一、JMeter正則表達式提取器模板
JMeter正則表達式提取器是JMeter中非常重要的一個組件,用於從服務器的響應數據中提取數據並存儲在JMeter的變量中,以便在後續測試步驟中使用。 在使用JMeter正則表達式提取器之前,我們需要了解它的模板。 模板的基本格式如下:
referenceName - regularExpression - template - match number - default value
其中:
- referenceName:提取的數據將存儲在JMeter變量中的名稱,這個名稱會在後續步驟中使用,所以請確保它不會與其他變量重名。
- regularExpression:正則表達式,用於從響應數據中提取我們需要的數據。
- template:模板是一個Java字符串,它描述了提取的數據如何轉換為新的文本格式。
- match number:指定我們需要匹配的數據,例如,如果有多個匹配項,那麼我們可以指定我們需要的是第一個匹配項還是第二個匹配項以及其他匹配項。
- default value:當沒有找到匹配項時,可以指定一個默認值。
二、JMeter正則表達式用戶參數
JMeter正則表達式提取器還需要與JMeter的用戶參數一起使用。 在使用JMeter正則表達式提取器之前,我們需要在用戶參數下提前定義需要使用的變量。 例如,在請求中我們需要使用一個參數,那麼我們需要在用戶參數下先定義這個參數。 在使用JMeter正則表達式提取器之後,我們可以在提取器中使用這個參數名稱。這些用戶參數必須位於HTTP請求本身的子級中。
HTTP Request User Parameters paramName1 paramName2 ... Regular Expression Extractor
三、JMeter正則表達式提取器用法
在請求之後使用JMeter正則表達式提取器,從服務器的響應數據中提取相應的值。 來看一個實例,我們需要從響應數據中提取用戶ID。
第1步:在HTTP請求之後,添加正則表達式提取器。在正則表達式提取器的「名稱」字段中輸入要在JMeter變量存儲的名稱。
第2步:在「響應字段」下選擇我們要匹配的響應數據。 如果我們要從JSON響應中獲取數據,我們可以選擇JSON提取器。 如果只需要從響應的正文中獲取任何數據,則需要使用正則表達式提取器。
第3步:在「正則表達式」字段中使用區分大小寫的正則表達式。 在本例中,我們使用以下正則表達式來匹配ID。如果響應數據中有多個ID,則會按順序匹配它們,直到找到第一個匹配項。
"id":(\d+)
第4步:在「模板」字段中輸入$1$。這意味着我們只需提取匹配到的第一個分組。如果你不理解這個話,請在下面的例子中查看更多內容。
第5步:定義其他可選的參數,如「默認值」,「匹配號」,「模板」。 當我們添加「默認值」時,如果沒有找到匹配值,則將使用該值。 「Match Number」字段允許我們從多個匹配項中選擇一個特定的值。如果我們選擇了第2個匹配項,則Match Number應該設置為2。
完整代碼示例:
HTTP Request User Parameters userId Regular Expression Extractor Name of created variable: userId Regular Expression: "id":(\d+) Template: $1$ Match No.(0 for Random): 1 Default Value: NOT_FOUND
四、JMeter正則表達式提取器的作用
JMeter正則表達式提取器可以從服務器的響應數據中提取想要的數據。 它可以與大多數類型的響應數據一起使用,而無需任何特殊準備。 有了正則表達式提取器,我們可以輕鬆地從服務器的響應中提取所需的數據,然後使用它們進行測試。
五、JMeter正則表達式提取器有什麼用
正則表達式提取器是非常有用的,因為它使我們能夠輕鬆地從服務器的響應中提取所需的數據,並將其存儲在JMeter變量中。 這樣,我們就可以在後續的測試步驟中使用這些數據。 假設我們正在測試一個Web應用程序,我們需要使用先前創建的用戶ID來執行其他測試操作,那麼我們可以從響應數據中提取ID並將其存儲在JMeter變量中。 在後續的測試步驟中,我們只需使用該變量即可輕鬆地訪問用戶ID。
六、正則表達式提取器怎麼用
現在我們來看一個使用正則表達式提取器的完整示例。 在我們的例子中,我們需要從響應數據中提取用戶ID。 假設我們的響應數據如下:
{ "name": "John Smith", "id": 12345, "age": 28 }
第1步:添加HTTP請求,將響應數據的示例放入HTTP請求作為響應。在這個例子中,我們需要從響應數據中提取用戶ID。
第2步:添加用戶參數,將userID作為參數名稱添加到用戶參數下。
HTTP Request User Parameters userID
第3步:添加正則表達式提取器
HTTP Request User Parameters userID Regular Expression Extractor
第4步:輸入正則表達式、模板和其他參數:
HTTP Request User Parameters userID Regular Expression Extractor Name of created variable: userID Regular Expression: "id":(\d+) Template: $1$ Match No.(0 for Random): 1 Default Value: NOT_FOUND
第5步:運行測試計劃並查看結果
現在,我們可以在測試計劃中使用userID變量。 在我們的例子中,可以在HTTP請求中使用以下變量值:
/users/${userID}
當我們運行測試計劃時,JMeter將從服務器的響應中提取所需的數據,並將其存儲在userID變量中。 該變量將用於後續測試步驟。 有了JMeter的正則表達式提取器,我們可以輕鬆地提取服務器響應中的任何數據。
原創文章,作者:VZNXM,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/313727.html