以前Jmeter主要是用來做性能測試的婶肩,現(xiàn)在有很多人開始使用Jmeter來做自動化接口測試办陷,Jmeter也在很多人的努力下走到了3.2版本,今天就來聊一聊這個律歼。
適用情況:團隊成員代碼能力偏弱民镜,但所要測試的接口并不是簡單的增刪改查的接口,而是多個接口有邏輯依賴的险毁,測試相對比較麻煩的情況下制圈,建議使用Jmeter。
一般的實施:jmeter + ant + jenkins畔况,這個網(wǎng)上資料很多就不寫了鲸鹦,也可以針對報表做二次開發(fā),或者再集成到測試管理系統(tǒng)跷跪,或者集成到接口管理平臺馋嗜。
那其他情況呢?我覺得可以考慮用別的方法域庇,比如用testNG+httpclient(unirest)或者unittest(RF)+requests做成框架甚至加上前端編輯調(diào)用前臺等嵌戈,或者直接用Java+spring boot直接做成站點來測耽梅,這個以后可以講講郭怪。
今天重點講講怎么來寫jmeter接口自動化腳本,因為我覺得跟寫性能腳本還是有區(qū)別的炭懊。
直接上一個例子:
1尉姨、每種業(yè)務類型的測試作為一個線程組庵朝,每個測試用例作為一個事務控制器,每個測試步驟作為一個sampler。
2九府、每個線程組都有Debug Sampler和查看結(jié)果樹方便調(diào)試椎瘟。
3、增加數(shù)據(jù)初始化操作侄旬,如有需要也可以再加結(jié)束后操作肺蔚。
4、用戶自定義變量這部分其實也可以做成數(shù)據(jù)驅(qū)動儡羔。
1宣羊、有用到BeanShell Preprocessor,用來生成測試數(shù)據(jù)汰蜘,里面有import進來自己寫的工具類jar包(放在lib中)
2仇冯、有用到If 控制器,當不滿足條件時就不需要走后續(xù)的測試族操。
1苛坚、如果碰到比較復雜的校驗點時,可以考慮用Beanshell斷言色难。
2泼舱、如果想把測試情況寫入到數(shù)據(jù)庫中,從而可以在web頁面看到測試情況并進行展示統(tǒng)計分析莱预,那么也可以考慮寫B(tài)eanShell PostProcessor柠掂。當然我覺得一般情況下不需要這樣來實現(xiàn),直接解析結(jié)果文件即可依沮。
由于是公司項目的腳本涯贞,具體內(nèi)容我就不貼了,只是分享一下我的一些實踐體會危喉,Jmeter不同的人有不同的用法宋渔,關(guān)鍵自己覺得好就可以,感覺3.2版本比之前2.13要多加了不少功能辜限,特別是配合插件之后皇拣,大家可以去試試。