jmeter-前置處理器介紹與使用

- JSR223 PreProcessor
- 用戶參數
- HTML鏈接解析器
- HTTP URL 重寫修飾符
- JDBC PreProcessor
- RegEx User Parameters
- Sample Timeout
- BeanShell PreProcessor
JSR223 PreProcessor
用法類似Beanshell 取樣器,可以參考7. Jmeter導入jar包這篇文章。具體用法如下圖所示

import com.seling.test.BeanShellEg;
import com.seling.test.BeanUtil;
BeanShellEg bs = new BeanShellEg("wangwang","南京");
vars.put("username",bs.getUserName());
運行結果如下:

用戶參數
簡單來說就是給不同線程組(用戶)使用不一樣的變量值。官方這張圖很好的詮釋用戶參數的用法,如下圖所示:比如user1的username和password分別是user1和pass1,user2的username和password分別是user2和pass2

HTML鏈接解析器
HTML鏈接解析器筆者看來有點像正則表達式。用個例子解釋下,現在又一個HTML頁面,如下代碼所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
<form method="post" action="test2">
<input type="checkbox" name="colors" value="red" id="red">紅色<br>
<input type="checkbox" name="colors" value="blue" id="blue">藍色<br>
<input type="checkbox" name="colors" value="green" id="green">綠色
<input type="submit" name="submit" >
</form>
</body>
</html>
然后有一組checkbox,,有紅藍綠三種顏色可選,那么我在jmeter里面設置一個變量,變量名為colors,變量的值可能是紅藍綠三種顏色任一一種。腳本設置如下所示:



運行結果如下:

通過以上幾張圖我們發現,a請求是訪問表單頁面,b請求才是提交。b請求我們設置了一個變量,叫colors,那么colors是哪來的呢?沒錯就是input標簽里面的name值。那么HTML鏈接解析器在這個例子當中是怎么用的呢?就是找colors。這里我們需要注意一下,jmeter變量colors一定要等於input標簽里的name值。HTML鏈接解析器找到name="colors"的值,然后賦值給變量colors。發送b請求時,帶上colors這個參數,並且值是等於紅藍綠。嗯。。寫了那么多,不推薦使用,太麻煩了。。。
JDBC PreProcessor
這個和JDBC Request完全一樣,叫法不一樣。醉了醉了。后面我們講到取樣器再來講它。


Sample Timeout

這個不用多說,比如請求如果超過10000ms,那么將會被中斷。
BeanShell PreProcessor
用法類似Beanshell 取樣器,可以參考7. Jmeter導入jar包這篇文章。也可以參考JSR223 PreProcessor

HTTP URL 重寫修飾符

略(沒想到具體用法)
RegEx User Parameters

配合regular expression extractor使用。暫時沒找到好的例子,后面想到補充。。
歡迎關注微信公眾號:軟件測試汪。軟件測試交流群:809111560
轉載請注意出處,謝謝合作
