
前言:接口自動化實現(xiàn)方式很多,例如:postman,python+request,java+TestNG,公司自己自研的平臺,等等。我介紹的是 使用jmeter工具做接口自動化。
優(yōu)點:上手簡單;jmeter有豐富的插件,直接下載使用;編寫接口用例方便,好維護,執(zhí)行等也方便快捷。
缺點:半自動化,因為利用工具和插件,太框架化不靈活,可制定性不高。例如:接口測試報告內(nèi)容個性化,自己想要某些數(shù)據(jù)展示基本難以實現(xiàn)(會代碼的大神另算)。
個人主觀:非常適合只做接口自動化,且項目不龐大(模塊不繁雜,第三方對接不多),重要是用例case方便編寫,方便維護。我個人是比較喜歡這個方案。
本文重點介紹實現(xiàn)的方式,需要提前具備jmeter接口自動化的基本使用技能,本文不多贅述。
..................................................................................................................................................
一、相關工具安裝
1.jmeter安裝
第一步:首先從jmeter的官網(wǎng)下載jmeter。
下載地址:
jmeter: http://jmeter.apache.org/download_jmeter.cgi
JDK: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,
百度網(wǎng)盤:
jdk鏈接:https://pan.baidu.com/s/1BUB_WmNCchMjrTBRcWGVgw? 提取碼:a7c0
jmeter: 鏈接:https://pan.baidu.com/s/17GxsQeVxMFmG0JRTBCl3Eg? 提取碼:axyj
第二步:安裝JDK(這個是必須得先裝)
將下載好的JDK解壓縮進行安裝,若無安裝目錄要求,可全默認設置。無需做任何修改,均直接點下一步即可。
第三步:安裝完成后配置JDK的環(huán)境變量
位置:計算機→屬性→高級系統(tǒng)設置→高級→環(huán)境變量
1、系統(tǒng)變量→新建JAVA_HOME變量,變量值填寫jdk的安裝目錄(本人是 C:\Program Files\Java\jdk1.8.0_92),如下圖

2、系統(tǒng)變量→尋找 Path 變量→編輯,在變量值最后輸入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; ,如果原來Path的變量值末尾有沒有;號,先輸入;號再輸入上面的代碼,如下圖

3、系統(tǒng)變量→新建 CLASSPATH 變量;變量值填寫? .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一點),如下圖

4、檢驗是否配置成功 運行cmd 輸入 java -version ,如果出現(xiàn)如下結(jié)果,則說明JDk環(huán)境變量配置成功

第四步:安裝jmeter
1、將下載好的jmeter進行解壓縮
2、解壓縮完成后進入JMETER目錄,點擊下面的批處理文件(設置里打開擴展名就能看見了),就可以了。

之后就會打開jmeter,如下圖:

JMeter運行方式:
進入bin目錄運行jmeter.bat啟動jmeter(方式1)

雙擊jar包運行(方式2)

注意:如果啟動不了看下面(一般是能啟動的)
網(wǎng)上查詢的時候說在安裝jmeter后需要設置環(huán)境變量,其實這里不用設置也是可以的,但是在這里也進行一下環(huán)境變量配置的說明;
1、加入系統(tǒng)變量JMETER_HOME,如下圖:

2、系統(tǒng)變量CLASSPATH中加入下邊的內(nèi)容:%JMETER_HOME\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar
3、確定完成。
2.ant安裝:
1、解壓apache-ant-1.9.9-bin.zip到E:\Program Files\apachejmeter31目錄下;
2、配置Ant環(huán)境變量
■ 1)系統(tǒng)變量→新建【ANT_HOME】變量
變量值中輸入:【E:\Program Files\apachejmeter31\apache-ant-1.9.9】,點擊確定即可。
■ 2)系統(tǒng)變量→尋找Path變量→編輯
在變量值最后輸入【%ANT_HOME%\bin】
■ 3)檢查是否配置成功,運行cmd輸入 【ant -version】,如果成功,顯示版本號

二、使用ant生成測試報告
本地調(diào)試使用Ant構建運行Jmeter,并且生成【jtl】、【Html】報告
也可以自己創(chuàng)建文件夾如圖:


1、首先我們默認Jmeter腳本已經(jīng)錄制,或者編寫好了,并測試通過,存在(登錄.jmx)腳本

2、將JMeter所在目錄下extras子目錄里的ant-JMeter-1.1.1.jar復制到Ant所在目錄lib子目錄之下,這樣Ant運行時才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"這個類,從而成功觸發(fā)JMeter腳本
3、jmeter默認保存的是.csv格式的文件,所以我們先要設置一下jmeter安裝目錄下 .../bin/jmeter.properties文件內(nèi)容,去掉注釋#,并修改csv為xml,保存jmeter.save.saveservice.output_format=xml
4、想要在測試報告結(jié)果能展示更多的結(jié)果,修改jmeter安裝目錄下 .../bin/jmeter.properties文件內(nèi)容,【標紅的內(nèi)容】去掉注釋#,并修改為true,保存(如果是百度網(wǎng)盤下載的是改好的)
jmeter.save.saveservice.assertion_results_failure_message=true
jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.response_data.on_error=true
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.connect_time=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.sent_bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true
jmeter.save.saveservice.timestamp_format=ms
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS
5、主要邏輯思路:運行E:\tmp\ResultReport\jmx下面的.jmx腳本,生成.jtl文件放入E:\tmp\ResultReport\jtl文件中,ant在將相應的文件轉(zhuǎn)換為對應的html文件放入E:\tmp\ResultReport\html中 (build.xml文件放在E:\tmp目錄下,方便查找和定位)
6. build.xml文件修改
ant是一個項目管理工具類似maven,執(zhí)行通過build.xml文件的內(nèi)容參數(shù)執(zhí)行
所以要設置這幾項(可以在上網(wǎng)詳細學習):可以用notepade++編輯。



PS:win+R打開cmd,切換到E:\tmp目錄下,輸入 ant 查看運行結(jié)果(進入和同build.xml文件夾同級),若構建失敗,請分析cmd打印的日志消息,定位問題;
或進入到E:\tmp目錄下,按住鍵盤Shift鍵,鼠標右擊選擇“在此處打開命令窗口”,輸入 ant 命令
最終結(jié)果生成,打開html文件(默認樣式表):



(這個模板不漂亮,可以重新選擇模板。)
做到這一步基本上成功了。本地可以寫,并且可以調(diào)試執(zhí)行。
三、定時執(zhí)行并發(fā)送郵件
因為寫完的接口自動化不可能每次自己手動執(zhí)行,所以需要工具定時觸發(fā)去執(zhí)行。
使用最常用的工具Jenkins。
1.安裝:
百度網(wǎng)盤:鏈接:https://pan.baidu.com/s/1p8MS_Ep5s15OqAX2fr2WIg? 提取碼:ig3x
下載下來,一直下一步:

2、根據(jù)頁面路徑輸入密碼
3、顯示實例離線,修改文件(如果不安裝插件,這一步可以忽略)
D:/jendins/hudson,model.UpdateCenter.xml? ? 將https修改為http


將https改為http
4、重新訪問jenkins
5、輸入密碼,點擊繼續(xù)
6、選擇“安裝推薦的插件”

推薦安裝支持svn和git

7、插件結(jié)束后,要求創(chuàng)建管理員用戶

8、實例配置,默認


9、安裝結(jié)束

10、安裝完畢

安裝完畢之后,安裝常用的插件,網(wǎng)上可以搜搜。
11.創(chuàng)建一個任務(可以先網(wǎng)上搜索
學習Jenkins使用教程)




如果沒有 Invoke Ant 就是沒有插件,網(wǎng)上搜下下載安裝。
12.執(zhí)行



13.設置定時任務
然后在設置定時任務,比較簡單,網(wǎng)上搜索下設置應用就可以,完成!
四、總結(jié)
接口自動化在回歸測試里面必不可少。
jmeter+ant+jenkins 本人認為是一個效率最高的實現(xiàn)方案,比起其他用語言寫的接口自動化在編寫,執(zhí)行實現(xiàn),維護,效率很高。
本文寫的非常簡單,目的是展示一種接口自動化的實現(xiàn)方案。
如果想去做,多多網(wǎng)上查,重點學習下怎么在jmeter里寫接口自動化的腳本(http請求,正則提取,斷言,等等)。