所謂關聯,多大數是通過相應信息抓取部分信息,例如hidden或session等。
在jmeter中要使用關聯,分爲2步:
Step 1. 在Sampler請求下添加正則表達式,獲得信息,Add > Post Processors>Regular Expression Extractor;
1.1絕大多數我們需要截取部分信息,可以通過查看源代碼,找到需要的代碼,然後通過正則處理,下面舉一個例子:
功能是提取userSession中的值
1.2有時候,我們需要提取所有的響應信息,可採用下面的正則:
Step2. 添加PostProcessers,選擇BeanShell PostProcessor,繼而進一步操作。
在BeanShell中我們可以使用java代碼處理正則提取出來的內容,一般的步驟爲:接收正則表達提取的值,如果這個值需要作爲之後Sampler的參數使用,我們還要將它保存爲變量,方便以後調用。
繼續以第一個例子中的userSession來說明:
由於在登錄url中post需要提交session,所以我保存爲變量Session,下面是登錄url的調用Session值。
如果我們需要將正則抓取的內容打印到本地文檔中,則可以在BeanShell PostProcesser中加入如下的代碼:
import java.io.*; String value = bsh.args[0]; print(value); File f= new File("D:"+File.separator+"log.txt"); FileWriter w = new FileWriter(f,true); w.write(value+"\n"); w.close(); |
value接收參數值,print是將參數打印到命令行裏,本地文件我使用的是D:\log.txt,這個路徑可自行設定。保存到文件中,可以用於分析統計。