1.背景
最近部門有接口和性能自動化測試的需求,公司沒有現(xiàn)成框架,通過分析,最終嘗試了JMeter二次開發(fā)來滿足需求。選型主要考慮了以下原因:
(1)JMeter是業(yè)內(nèi)成熟框架,可支持Java Request模式
(2)后期可快速實現(xiàn)性能測試
(3)JMeter有開源Java代碼,可實現(xiàn)定制內(nèi)容
(4)該方案已有成功先例
2.核心框架
經(jīng)過分析,可以有兩種不同的實現(xiàn)方式。我稱之為:“真·二次開發(fā)”和“偽·二次開發(fā)”。
所謂“真·二次開發(fā)”指的是:基于JMeter開源Java代碼,直接修改來適配項目的需求。而“偽·二次開發(fā)”就是:保持JMeter的源碼封裝,實現(xiàn)其開放的API接口,完成Plugin級別的開發(fā)。
考慮到當(dāng)前人手和時間限制,選擇了相對穩(wěn)妥的Plugin二次開發(fā),即Java Request開發(fā)。
3.開發(fā)流程
(1)新MAVEN項目(Plugin項目),導(dǎo)入JMeter包
(2)繼承并實現(xiàn)抽象類AbstractJavaSamplerClient
(3)導(dǎo)出JAR包,放入JMeter依賴庫
(4)使用JMeter的GUI界面,輸入測試用例詳細內(nèi)容,導(dǎo)出JMX文件
(5)新MAVEN項目(執(zhí)行項目),導(dǎo)入JMeter依賴和新開發(fā)的Plugin包,并放入JMX文件
(6)項目通過POM文件執(zhí)行JMeter插件,命令行mvn verify
4.部署流程
(1)安裝執(zhí)行項目(EXE打包或測試平臺接入)
(2)測試數(shù)據(jù)部署
5.使用流程
(1)確認業(yè)務(wù)需求
(2)配置測試數(shù)據(jù)
(3)執(zhí)行相應(yīng)命令行完成業(yè)務(wù)測試
本文為總體概述,接下來會進行詳細介紹。