目錄
JMeter(一):基礎(chǔ)概念
JMeter(二):配置元件
JMeter(三):變量參數(shù)化
JMeter(四):監(jiān)聽(tīng)器
本文提綱:3種腳本錄制方法
一:使用原生的HTTP代理服務(wù)器
二:使用第三方軟件badboy錄制
三:通過(guò)Fiddler抓包導(dǎo)出Jmeter腳本
四:通過(guò)抓包工具(Fiddler痕貌、F12市怎、FireBug都可以)手寫(xiě)腳本
方法一:使用原生的HTTP代理服務(wù)器
1、創(chuàng)建模板
通過(guò)菜單:文件 → Templates… → Recording →Create
工作臺(tái)---非測(cè)試元件---HTTP代理服務(wù)器傍衡,默認(rèn)端口8080深员,可自行修改,但不要與其他應(yīng)用端口沖突
目標(biāo)控制器:錄制的腳本存放的位置蛙埂,可選擇項(xiàng)為測(cè)試計(jì)劃中的線程組(根據(jù)實(shí)際來(lái)選擇)
2倦畅、設(shè)置代理
打開(kāi)IE/Firefox,不要關(guān)閉Jmeter
-
FireFox:點(diǎn)擊工具(Tool) → 選項(xiàng)(Internet Options) → 高級(jí)(advanced) → NetWork(網(wǎng)絡(luò)) → 設(shè)置(Settings)
輸入IP和端口號(hào)绣的,勾選上【為所有協(xié)議使用相同代理 (Use this proxy server for all protocols)】 - IE:工具 →Internet選項(xiàng) → 連接 →局域網(wǎng)設(shè)置
3叠赐、錄制腳本
- 打開(kāi)瀏覽器,在地址欄輸入網(wǎng)址屡江,然后回車(chē)
- 在被測(cè)網(wǎng)站上點(diǎn)擊操作
- 返回Jmeter查看腳本
4芭概、驗(yàn)證腳本
錄制完之后,在測(cè)試計(jì)劃之前我們需要對(duì)腳本進(jìn)行驗(yàn)證
先保存測(cè)試計(jì)劃惩嘉,然后右鍵Thread Group選擇Validate
檢查結(jié)果樹(shù)罢洲,看請(qǐng)求返回是否都o(jì)k
如出差申請(qǐng)頁(yè)面,根據(jù)登錄者信息獲取部門(mén)信息文黎,在請(qǐng)求頁(yè)簽可以看到是通過(guò)POST請(qǐng)求傳遞gonghao參數(shù)實(shí)現(xiàn)的惹苗,返回的請(qǐng)求碼為200,響應(yīng)數(shù)據(jù)頁(yè)簽顯示的是部門(mén)信息
另外我們也可以看到出差列表頁(yè)的請(qǐng)求參數(shù)以及每頁(yè)顯示的行數(shù)
方法二:使用第三方軟件badboy錄制
操作:
1耸峭、點(diǎn)擊紅色按鈕桩蓉,地址欄輸入被測(cè)地址,錄制完成點(diǎn)旁邊黑色按鈕劳闹,結(jié)束錄制院究,選擇 File---Export to Jmeter
2、打開(kāi)Jmeter工具本涕,在文件---打開(kāi)(.jxm類(lèi)型)儡首,不需要的頁(yè)面可以刪掉或者禁用
關(guān)于badboy錄制腳本時(shí)碰到的問(wèn)題
1、提示腳本錯(cuò)誤
解決辦法:
(1)直接點(diǎn)擊腳本提示“是”即可
(2)IE瀏覽器偏友,在Internet選項(xiàng)>高級(jí)屬性>瀏覽器標(biāo)簽>選中禁止腳本調(diào)試
2、版本不一致
解決辦法:排查badboy和jmeter版本不匹配对供,把badboy升級(jí)到最新版
3位他、錄制后的腳本氛濒,在導(dǎo)入Jmeter后會(huì)使線程組的循環(huán)次數(shù)失效
解決辦法:先將循環(huán)控制器改成其他任一類(lèi)型控制器,然后再改回來(lái)
PS :badboy腳本里設(shè)置好的東西(比如參數(shù)化鹅髓、檢查點(diǎn))是不會(huì)帶到j(luò)meter里的舞竿,只能錄制基本的東西,導(dǎo)入到j(luò)meter里還需要重新調(diào)試
方法三:通過(guò)Fiddler抓包導(dǎo)出Jmeter腳本
1窿冯、下載插件骗奖, 密碼:rthd
將FiddlerExtensions.dll、FiddlerExtensions.pdb 放置到Fiddler的安裝目錄下的ImportExport里面
2醒串、抓包
3执桌、導(dǎo)出抓包請(qǐng)求為jmx格式,點(diǎn)擊File芜赌,選擇 Export Sessions 仰挣,根據(jù)需求選擇 All Sessions 或者 Selected Sessions,在彈出框的下拉菜單中選擇JMeter缠沈,然后保存即可
4膘壶、在JMeter中打開(kāi)jmx文件
PS:導(dǎo)出的jmeter腳本是不包含Thread Group的,需要自己創(chuàng)建Thread Group洲愤,然后在運(yùn)行腳本查看結(jié)果進(jìn)行分析
方法四:手寫(xiě)腳本(推薦)
如果是通過(guò)Fiddler工具抓包颓芭,參數(shù)需要特別注意下,因?yàn)镕iddler是抓取id的name值柬赐,而Jmeter是通過(guò)id值的
如圖:新增加班單頁(yè)面的申請(qǐng)人和姓名的id不一樣亡问,name相同,按照Fiddler抓到的數(shù)據(jù)填入Jmeter后躺率,運(yùn)行查看請(qǐng)求數(shù)據(jù)發(fā)現(xiàn)申請(qǐng)人是空值玛界,后來(lái)修改請(qǐng)求申請(qǐng)人姓名的名稱(chēng)再次運(yùn)行,結(jié)果正確
關(guān)于jmeter錄制的說(shuō)明
既然玩jmeter就不要太依賴于錄制了悼吱,況且jmeter本身對(duì)錄制的支持不是特別好慎框,還會(huì)產(chǎn)生很多無(wú)關(guān)的請(qǐng)求的數(shù)據(jù),導(dǎo)入Jmeter后還需要手工去篩選
如下圖通過(guò)badboy錄制后導(dǎo)入到Jmeter后添,發(fā)現(xiàn)很多參數(shù)名稱(chēng)前面都加了0
下圖通過(guò)Fiddler工具導(dǎo)出腳本笨枯,導(dǎo)入Jmeter后端口和IP顯示在一起的,需要人工刪除下遇西,不然運(yùn)行直接失敗了
建議學(xué)會(huì)手寫(xiě)請(qǐng)求馅精,基本都是界面操作,程度不難粱檀。
相反洲敢,錄制看似簡(jiǎn)單,其實(shí)會(huì)給后期的腳本調(diào)試增加很多麻煩