一、Badboy錄製腳本報錯
1、在使用Badboy錄製Jmeter腳本時,可能會遇到一些報錯。首先,需要檢查是否已經安裝好Jmeter,是否將其路徑添加到了Badboy配置中。
2、如果確認以上問題均已解決,但依然遇到報錯,則需要檢查Jmeter版本和Badboy版本是否匹配。如果版本不一致,會導致無法錄製或者錄製後無法進行測試。
3、還可能是Badboy沒有錄製到需要測試的完整流程,因此建議使用錄製開啟前先規劃好測試流程。
二、Jmeter錄製腳本
1、在Badboy中完成對測試流程的錄製後,可以直接導出為Jmeter腳本。
<jmeterTestPlan version="1.2" properties="2.4">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
<stringProp name="TestPlan.comments"></stringProp>
<boolProp name="TestPlan.functional_mode">false</boolProp>
<boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="name" elementType="string"></elementProp>
<elementProp name="value" elementType="string"></elementProp>
<elementProp name="metadata" elementType="bool">false</elementProp>
</collectionProp>
</elementProp>
</TestPlan>
<hashTree>
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
<boolProp name="LoopController.continue_forever">false</boolProp>
<stringProp name="LoopController.loops">1</stringProp>
</elementProp>
</ThreadGroup>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP Request" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="Argument.value" elementType="string"></elementProp>
<elementProp name="Argument.metadata" elementType="bool">false</elementProp>
</collectionProp>
</elementProp>
<elementProp name="HTTPSampler.image_parser" elementType="bool">true</elementProp>
<elementProp name="HTTPSampler.concurrentPoolSize" elementType="int">6</elementProp>
</HTTPSamplerProxy>
<hashTree>
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="false">
<elementProp name="HeaderManager.headers" elementType="CollectionProperty">
<collectionProp name="HeaderManager.headers">
<elementProp name="" elementType="Header">
<stringProp name="Header.name">Connection</stringProp>
<stringProp name="Header.value">keep-alive</stringProp>
</elementProp>
</collectionProp>
</elementProp>
</HeaderManager>
<hashTree/>
</hashTree>
</hashTree>
</hashTree>
</hashTree>
</jmeterTestPlan>
2、導出後打開Jmeter,可以看到錄製好的腳本已經自動生成,其中包括線程組、請求方法等信息。在腳本中還可以添加斷言、加入循環等操作。
三、Badboy可以錄製app腳本嗎?
1、Badboy不僅可以錄製Jmeter腳本,也可以錄製app腳本。
2、在錄製app腳本時,需要連接真機或者模擬器,並且在Badboy中配置好相應的手機參數。之後在Badboy中打開app,即可進行錄製操作。
3、錄製完成後,也可以導出為Jmeter腳本,並將其用於Jmeter的性能測試中。
四、Jmeter腳本優化
1、在錄製好的Jmeter腳本中,可能會存在一些冗餘的請求,需要進行優化。
2、可以篩選掉不必要的請求,如圖片等靜態資源文件,可以採用正則表達式進行匹配。
例:在HTTP Request中,添加取樣器結果樹。然後在正則表達式過濾器中填寫如下表達式: .*\.(jpg|gif|png|css|js|ico)
3、也可以對接口進行分類,將相關的請求放在一起,方便後續的性能測試操作。
五、結合CI/CD使用
1、Jmeter的性能測試通常要和CI/CD進行結合使用。
2、可以在代碼的倉庫中,添加一個Jmeter的文件夾,並把Jmeter的腳本放進去。之後在CI/CD的流程中加入Jmeter的性能測試,可以在持續集成或者持續交付的過程中對性能進行監控。
3、可以將測試結果作為指標分析,並根據結果對應用進行優化,提高應用的性能。
六、結語
以上是關於Badboy錄製Jmeter腳本的詳細闡述,包括了錄製時可能遇到的問題、導出Jmeter腳本、優化腳本、結合CI/CD等方面。希望這篇文章有助於您掌握Badboy錄製Jmeter腳本的技巧。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/194001.html
微信掃一掃
支付寶掃一掃