jmeter后置處理器詳解;


一、xpath 提取器;

xpath使用路徑表達式在XML文檔中選取節點。節點是通過沿着路徑來選取的,通過路徑可以找到我們想要的節點或者節點范圍;

如:'/div',從根節點上選取div節點;

  '//div',從匹配選擇的當前節點選擇含有div節點的標簽;

  './div',選取當前節點下的div標簽;

  '../',回到上一級節點;選取當前節點的父節點;

  “..div[@id='11']”,獲取div標簽中,含有id屬性且值為11的標簽;

如:提取江夏區官網的新聞;html中,遇到“<>”,表示標簽,xpath絕對路徑(/)時都得加入該標簽名;相對路徑(//)可以跳過部分標簽名;下圖是提取是官方示例;

如下圖,提取標題的寫法://div[@id="jxzxc1"]/ul/li/span/a/text() 或 //div[@id="jxzxc1"]/ul/li//a/@title

可通過察看結果樹;XPath Tester測試提取的語法是否正確;

 

 HTML響應應選中'Use Tidy',將HTML響應轉換為有效的XHTML(與XML兼容的HTML);

 對於XHTML或XML響應,應取消選中'Use Tidy';

 對於HTML,CSS Selector Extractor是正確的執行解決方案。不要將XPath用於HTML提取。

 

二、CSS選擇器提取器;(CSS/JQuery Extractor)

 允許用戶使用CSS選擇器語法從服務器HTML響應中提取值;

谷歌瀏覽器—F12(DevTools)—箭頭(選擇網頁內容)—(DevTools中)右鍵—Copy—Copy selector,可復制CSS路徑;#jxzxc1 > ul > li:nth-child(1) > span:nth-child(1) > a

取指定標題,在CSS提取器中,屬性填寫‘title’;

 

 

取隨機標題,可以傳入變量,借助於函數助手的__Random,生成1-8之間的隨機數;

 

 

 

 三、jmeter JsonPath表達式提取響應;

鏈接https://easy-mock.com/mock/5b88b27476b79510db917603/example/query1;

這是一個多層嵌套的jsonlist,需要提取所有cabinInfos列表下,patFlag=Y時,cabin,standardPrice和finallyPrice。如果按照傳統的正則表達式提取,那么,很難滿足這個需求了,因此需要用到jsonpath表達式;

$..[?(@.patFlag=="Y")].["cabin","standardPrice","finallyPrice"]

 

 

 


免責聲明!

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



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