1.TestPlan和WorkBench GUI類是直接加載的,因此左邊的樹形菜單開始啟動Jmeter時顯示也是這兩個,默認寫死了的!可以改源碼!在MenuFactory中有相應代碼。
2.其它的GUI類和TestBean子類需要從ext下的jar包中尋找加載,會根據這些來創建菜單項等等,這些類特別是GUI類需要實現相應的函數方法創建菜單項。
3.界面的國際化用messages.properties資源文件描述,如果想修改其顯示,修改這個文件即可,用native2ascii.exe可進行來回轉換,-reverse是逆向轉換。
4.每一個配置元件,只要擴展自ConfigTestElement即可(模仿CSVDataSet),其屬性的屬性采用工具對應的BeanInfo類來進行設置;對屬性設置了屬性之后,比如屬性的默認值,是否允許為空等,可以在今后使用這個屬性時,獲取相應的約束值,方便編程。;
5.每一個Sampler默認配置元件,擴展自AbstractConfigGui即可,其在菜單和界面中的顯示項,通過在messages.properties里配置對應的key,並在getLabelResource方法中返回key即可,可參考FtpConfigGui的實現情況,由於涉及的類少,只需要新建三個類,復制一份參考着實現自己的即可。
6.每個Sampler配置元件,只要擴展自AbstractSamplerGui即可,通常與Sampler默認配置元件類似,只需要加入自己特殊的布局即可。
7.AbstractSampler類是真正起作用的,但卻是屏幕上看不到的元件,它與Sampler配置元件或Sampler默認配置元件對應起來,每次線程迭代時,都會作用於它執行一次sample方法!返回結果SampleResult供其它元件調用顯示。
8.有一個HttpSampler,另一個是HttpSampler2,HttpSampler2采用HttpClient實現,代理請求時使用;HttpSampler采用Jmeter自己的實現,基於Java底層類庫,Cookie等Jmeter自己均有一套實現。
仔細研究一下jdbc和ftp的sampler、CSV DataSet即可,因為類很少。呵呵。研究透,即可對二次開發心里有底了。
JMeter源碼目錄解析
Src目錄下的各個子目錄的功能與作用
components—包含與協議無關的組件,如可視化、斷言等等。
core —JMeter的核心代碼,包括所有的核心接口和抽象類。
examples —演示采樣器如何使用新bean框架的例子。
functions —所使用的組件的標准功能。
jorphan—提供常見實用功能的實用工具類
monitor—tomcat 5的monitor組件
protocol—包含了JMeter支持的不同協議
Jmeter測試框架學習總結之代碼分析
---------------------
作者:zhangren07
來源:CSDN
原文:https://blog.csdn.net/zhangren07/article/details/6233174
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!