jmeter添加jave請求

1.創(chuàng)建一個Java工程膜楷;

2.將JMeter的lib目錄下的jar文件添加進此工程的Build Path绿贞;需要引入三個包ApacheJMeter_core.jar婿脸,ApacheJMeter_java.jar讯屈,logkit-2.0.jar

3.創(chuàng)建一個類并實現(xiàn)JavaSamplerClient接口或繼承AbstractJavaSamplerClient亡嫌,并重寫:

public Arguments getDefaultParameters():設置可用參數(shù)及的默認值;

public void setupTest(JavaSamplerContext arg0):每個線程測試前執(zhí)行一次击孩,做一些初始化工作迫悠;

public SampleResult runTest(JavaSamplerContext arg0):開始測試,從arg0參數(shù)可以獲得參數(shù)值巩梢;

public void teardownTest(JavaSamplerContext arg0):測試結(jié)束時調(diào)用创泄;

getDefaultParameters() -->setupTest(JavaSamplerContext context) -->runTest(JavaSamplerContext context) -->teardownTest(JavaSamplerContextcontext)

import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class JavaTest extends AbstractJavaSamplerClient {

    private static final Logger log = LoggerFactory.getLogger(JavaTest.class);

    private String num1;
    private String num2;

    /**
     * 這個方法是用來自定義java方法入?yún)⒌?params.addArgument("num1","");表示入?yún)⒚纸衝um1,默認值為空且改。
     *
     * @return
     */
    @Override
    public Arguments getDefaultParameters() {
        Arguments params = new Arguments();
        params.addArgument("num1", "2");
        params.addArgument("num2", "3");
        return params;
    }

    /**
     * 每個線程測試前執(zhí)行一次验烧,做一些初始化工作 獲取輸入的參數(shù),賦值給變量,參數(shù)也可以在下面的runTest方法中獲取,這里是為了展示該方法的作用
     *
     * @param arg0
     */
    @Override
    public void setupTest(JavaSamplerContext arg0) {
        num1 = arg0.getParameter("num1");
        num2 = arg0.getParameter("num2");
    }

    /**
     * 真正執(zhí)行邏輯的方法
     *
     * @param arg0
     * @return
     */
    @Override
    public SampleResult runTest(JavaSamplerContext arg0) {
        SampleResult sr = new SampleResult();
        sr.setSamplerData("請求參數(shù)num1:" + num1 + "\n請求參數(shù)num2:" + num2);

        try {
            // jmeter 開始統(tǒng)計響應時間標記
            sr.sampleStart();

            int sum = sumfun(Integer.parseInt(num1),Integer.parseInt(num2));

            // 通過下面的操作就可以將被測方法的響應輸出到Jmeter的察看結(jié)果樹中的響應數(shù)據(jù)里面了。
            sr.setResponseData("結(jié)果是:" + sum, "utf-8");
            System.out.println(sum);

            // 設置響應執(zhí)行成功
            sr.setSuccessful(true);
        } catch (Throwable e) {
            // 有異常,執(zhí)行失敗
            sr.setSuccessful(false);
            e.printStackTrace();
        } finally {
            // jmeter 結(jié)束統(tǒng)計響應時間標記
            sr.sampleEnd();
        }
        return sr;
    }

    /**
     * 測試結(jié)束后調(diào)用
     *
     * @param arg0
     */
    @Override
    public void teardownTest(JavaSamplerContext arg0) {

    }

    /**
     * main方法測試程序是否可用,打包時 注釋掉
     *
     * @param args
     */
    public static void main(String[] args) {
        Arguments params = new Arguments();
        // 設置參數(shù)又跛,并賦予默認值1
        params.addArgument("num1", "1");
        // 設置參數(shù),并賦予默認值2
        params.addArgument("num2", "2");
        JavaSamplerContext arg0 = new JavaSamplerContext(params);
        JavaTest test = new JavaTest();
        test.setupTest(arg0);
        test.runTest(arg0);
        test.teardownTest(arg0);
    }

    public int sumfun(int n,int m) {
        int a=m + n;
        return a;
    }
}

4.Export為Runnable Jar File若治;

5.將此jar包放入JMETER_HOMElibext目錄慨蓝;

6.創(chuàng)建線程組感混、Java Request、結(jié)果樹礼烈,進行測試弧满;


a2d30dbd05b4413ea68f0db1cfa1f8cb.png

b9b59f81a43844c7a09bd599014e05a9.png

49a0338c064b4adc892d2ef43a0ee2be.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市此熬,隨后出現(xiàn)的幾起案子庭呜,更是在濱河造成了極大的恐慌,老刑警劉巖犀忱,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件募谎,死亡現(xiàn)場離奇詭異,居然都是意外死亡阴汇,警方通過查閱死者的電腦和手機数冬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搀庶,“玉大人拐纱,你說我怎么就攤上這事「缇螅” “怎么了秸架?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長咆蒿。 經(jīng)常有香客問我东抹,道長,這世上最難降的妖魔是什么蜡秽? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任府阀,我火速辦了婚禮,結(jié)果婚禮上芽突,老公的妹妹穿的比我還像新娘试浙。我一直安慰自己,他們只是感情好寞蚌,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布田巴。 她就那樣靜靜地躺著,像睡著了一般挟秤。 火紅的嫁衣襯著肌膚如雪壹哺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天艘刚,我揣著相機與錄音管宵,去河邊找鬼。 笑死,一個胖子當著我的面吹牛箩朴,可吹牛的內(nèi)容都是我干的岗喉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼炸庞,長吁一口氣:“原來是場噩夢啊……” “哼钱床!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起埠居,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤查牌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后滥壕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纸颜,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年捏浊,在試婚紗的時候發(fā)現(xiàn)自己被綠了懂衩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡金踪,死狀恐怖浊洞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胡岔,我是刑警寧澤法希,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站靶瘸,受9級特大地震影響苫亦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜怨咪,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一屋剑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧诗眨,春花似錦唉匾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至芋簿,卻和暖如春峡懈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背与斤。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工肪康, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留荚恶,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓梅鹦,卻偏偏與公主長得像裆甩,于是被迫代替她去往敵國和親冗锁。 傳聞我的和親對象是個殘疾皇子齐唆,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容