一、登錄
1、 打開jmeter、添加線程組,命名為test,如下圖:
2、 添加HTTp默認請求
1)服務器名稱或IP:這里只能填寫域名或IP地址
2)端口號:配置bugfree時的端口號,通常默認為80
3)添加了該組件后,后面的組件中即可不再重復填寫服務器名稱或IP
3、 添加HTTP Cookie管理器,test>右擊>添加>配置原件>HTTP Cookie管理器
在后面創建bug時,需要保持登錄狀態,即需要保存Cookie,因此這里用到Cookie管理器,這里使用默認值即可
4、 添加HTTP請求,test>右擊>添加>sampler>HTTP請求
方法:常用方法有POST和GET。這里稍微解釋一下POST和GET方法。向服務器發送數據時,通常用POST方法,此時,傳遞的參數是直接通過后台發送到服務端,在瀏覽器的URL上不會看到所傳遞的參數;而使用GET方法則會將傳遞的參數顯示在URL中
路徑:這里是登錄的接口,而非登錄頁面的URL。可以通過查看瀏覽器的消息找到
Parameters:同請求一起發送的參數,該參數可以通過使用抓包工具fiddler進行抓取,如下圖:
5、 添加斷言,test>右擊>添加>斷言>響應斷言,如下圖:
斷言相當於LR中的檢查點的設置
6、 添加察看結果樹,test>右擊>添加>監聽器>察看結果樹,運行腳本,如下圖:
二、新建BUG(操作步驟和上面一樣)
1、添加HTTP請求,test>右擊>添加>sampler>HTTP請求
修改名稱、添加方法、設置路徑、添加傳遞的參數
2、添加響應斷言,test>右擊>添加>斷言>響應斷言,如下圖:
修改名稱、設置要檢查的文本內容
3、添加正則表達式提取器(LR關聯),test>右擊>添加>后置處理器>正則表達式提取器,如下圖:
引用名稱,即關聯的名稱;
正則表達式:parent.location='/bugfree/bug/(.+?)' (該路徑正確,注該路徑還是要根據抓包的情況去具體應用,但是之前的路徑是不正確的所以導致在后邊解決BUG的時候會有報錯)
模板:$1$
匹配數字:0,隨機
缺省值:error 可以自定義
在這里添加正則表達式提取器,主要是因為解決BUG的時候需要對BUGID進行關聯
4、添加察看結果樹,test>右擊>添加>監聽器>察看結果樹,運行腳本,如下圖:
如果這里你拿不准,那么可以登錄Bugfree管理系統查看是否創建BUG成功
三、解決BUG
1、添加HTTP請求,test>右擊>添加>sampler>HTTP請求,如下圖:
修改名稱,設置路徑,添加傳遞的參數值
注意:這里的路徑設置,需需要調用上面的關聯ID的:調用方法如下:
bugfree/bug/${id}/resolved
2、添加察看結果樹,test>右擊>添加>監聽器>察看結果樹,運行腳本,如下圖:
發現報錯誤信息,發現並未取到關聯的ID值,猜測可能是關聯錯誤導致;后去查看發現是由於關聯時,正則表達式的路徑書寫錯誤,帶改正后運行一切OK。
遇到的問題:
問題1:
運行報錯;
分析:可能是關聯錯誤導致,后去查看發現是由於關聯時,正則表達式的路徑書寫錯誤導致
解決辦法:
根據抓包中的路徑進行修改后,OK
問題2:
創建新BUG的時候腳本運行正常,但是登陸查看發現BUG未創建成功
原因分析:可能是由於關聯導致,但是由於創建的時候不需要關聯所以排除;后查看響應數據信息發現數據中存在亂碼的現象,由此推測可能是由於亂碼問題導致新建不成功
解決辦法:
在HTTp默認請求值中設置Content encoding=utf8,運行OK
如果沒有HTTp默認請求值,則需要在每個HTTP請求中都需要修改編碼格式
***************************************************************************************************************
參考文檔:
http://www.cnblogs.com/wuxiaoyu-1537/p/6232470.html