jmeter(十八)關聯之XPath Extractor


之前的博客,有介紹jmeter如何對請求進行關聯的一種常見用法,即:后置處理器中的正則表達式提取器,下面介紹另一種關聯方法,XPath Extractor!

所謂關聯,從業務角度講,即:某些操作步驟與其相鄰步驟存在一定的依賴關系,導致某個步驟的輸入數據來源於上一步的返回數據,這時就需要“關聯”來建立步驟之間的聯系。

簡單來說,就是:將上一個請求的響應結果作為下一個請求的參數。。。

 

jmeter提供的對關聯的支持包括以下2個方面:

①能夠將返回頁面上的指定內容保存在參數中;

②能夠將GET或POST方法中的數據使用該參數來替換;

XPath Extractor的使用方法與正則表達式提取器(Regular Expression Extractor)類似,只不過該Expression中指定的不是正則表達式,而是給定的XPath路徑。

首先,新建一個線程組,然后右鍵-添加-后置處理器-XPath Extractor:

 

這里簡單介紹下jmeter后置處理器的作用

后置處理器(Post Processor)本質上是一種對sampler發出請求后接受到的響應數據進行處理(后處理)的方法,結合之前我介紹過的jmeter元件的作用域和執行順序 

必須將后置處理器元件放在合適的位置才能達到預期的效果。

XPath Extractor界面如下:

APPly to:作用范圍(返回內容的斷言范圍)

         Main sample and sub-samples:作用於父節點的取樣器及對應子節點的取樣器

         Main sample only:僅作用於父節點的取樣器

         Sub-samples only:僅作用於子節點的取樣器

         JMeter Variable:作用於jmeter變量(輸入框內可輸入jmeter的變量名稱)

XML Parsing Options:要解析的XML參數

         Use Tidy:當需要處理的頁面是HTML格式時,必須選中該選項;如果是XML或XHTML格式(例如RSS返回),則取消選中;

                   Quiet表示只顯示需要的HTML頁面,Report errors表示顯示響應報錯,Show warnings表示顯示警告;

         Use Namespaces:如果啟用該選項,后續的XML解析器將使用命名空間來分辨;

         Validate XML:根據頁面元素模式進行檢查解析;

         Ignore Whitespace:忽略空白內容;

         Fetch external DTDs:如果選中該項,外部將使用DTD規則來獲取頁面內容;

Return entire XPath fragment of  text content:返回文本內容的整個XPath片段;

Reference Name:存放提取出的值的參數。

XPath Query:用於提取值的XPath表達式。

Default Value:參數的默認值。

PS:XPath是XML/XHTML中常用的選取給定節點和節點集的方法

 

正則表達式提取器和XPath Extractor的區別

①正則表達式提取器可以用於對頁面任何文本的提取,提取的內容是根據正則表達式在頁面內容中進行文本匹配;

②XPath Extractor則可以提取返回頁面任意元素的任意屬性;

③如果需要提取的文本是頁面上某元素的屬性值,建議使用XPath Extractor;

④如果需要提取的文本在頁面上的位置不固定,或者不是元素的屬性,建議使用正則表達式提取器。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM