日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jmeter 采样器作用_实施自定义JMeter采样器

發布時間:2023/12/3 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jmeter 采样器作用_实施自定义JMeter采样器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jmeter 采樣器作用

隨著我們采用不同的體系結構和實現方式,對通用壓力測試工具的需求不斷增長。

關于負載測試, Apache Jmeter是最知名的工具之一。 它支持許多協議,例如ftp http tcp,并且可以輕松地用于分布式測試。

Jmeter還為您提供了一種創建自定義采樣器的簡便方法。 例如,如果您需要對HTTP終結點進行負載測試,而該終結點需要用于簽名標頭的特定過程,那么自定義采樣器將派上用場。

目標是實現一個自定義采樣器項目,該項目將對一個簡單功能進行負載測試。

在此示例中,我使用gradle 。

group 'com.gkatzioura.jmeter' version '1.0-SNAPSHOT'apply plugin: 'java'sourceCompatibility = 1.6repositories {mavenCentral() }dependencies {compile 'org.apache.jmeter:ApacheJMeter_java:2.11'compile 'org.json:json:20151123'testCompile group: 'junit', name: 'junit', version: '4.11' }task copySample(type:Copy,dependsOn:[build]) {copy {from project.buildDir.getPath()+'/libs/jmeter-sampler-1.0-SNAPSHOT.jar'into 'pathtoyourjmeterinstallation/apache-jmeter-2.13/lib/ext/'} }

我包括對項目的ApacheJMeter依賴項,因為采樣器將必須擴展AbstractJavaSamplerClient。 copySample任務會將jar復制到所有采樣器所在的Jmeter的lib / ext路徑中。

采樣器將調用一個簡單的函數:

package com.gkatzioura.jmeter;/*** Created by gkatzioura on 30/1/2016.*/ public class FunctionalityForSampling {public String testFunction(String arguement1,String arguement2) throws Exception {if (arguement1.equals(arguement2)) {throw new Exception();}else return arguement1+arguement2;}}

CustomSampler類擴展AbstractJavaSamplerClient類并調用testFunction。 通過覆蓋getDefaultParameters函數,我們可以應用可與請求一起使用的默認參數。

package com.gkatzioura.jmeter;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;import java.io.Serializable;/*** Created by gkatzioura on 30/1/2016.*/ public class CustomSampler extends AbstractJavaSamplerClient implements Serializable {private static final String METHOD_TAG = "method";private static final String ARG1_TAG = "arg1";private static final String ARG2_TAG = "arg2";private static final Logger LOGGER = LoggerFactory.getLogger(CustomSampler.class);@Overridepublic Arguments getDefaultParameters() {Arguments defaultParameters = new Arguments();defaultParameters.addArgument(METHOD_TAG,"test");defaultParameters.addArgument(ARG1_TAG,"arg1");defaultParameters.addArgument(ARG2_TAG,"arg2");return defaultParameters;}@Overridepublic SampleResult runTest(JavaSamplerContext javaSamplerContext) {String method = javaSamplerContext.getParameter(METHOD_TAG);String arg1 = javaSamplerContext.getParameter(ARG1_TAG);String arg2 = javaSamplerContext.getParameter(ARG2_TAG);FunctionalityForSampling functionalityForSampling = new FunctionalityForSampling();SampleResult sampleResult = new SampleResult();sampleResult.sampleStart();try {String message = functionalityForSampling.testFunction(arg1,arg2);sampleResult.sampleEnd();;sampleResult.setSuccessful(Boolean.TRUE);sampleResult.setResponseCodeOK();sampleResult.setResponseMessage(message);} catch (Exception e) {LOGGER.error("Request was not successfully processed",e);sampleResult.sampleEnd();sampleResult.setResponseMessage(e.getMessage());sampleResult.setSuccessful(Boolean.FALSE);}return sampleResult;}}

編譯完成后,必須將創建的jar復制到JMeter安裝目錄的lib / ext目錄。 同樣,如果有更多依賴項需要導入,則還應該將它們復制到JMeter安裝目錄的lib路徑中。

通過將Java Sampler添加到JMeter線程組來完成該過程后,我們可以選擇我們的自定義采樣器。

  • 您也可以在此處找到源代碼。

翻譯自: https://www.javacodegeeks.com/2016/02/implement-custom-jmeter-samplers.html

jmeter 采樣器作用

總結

以上是生活随笔為你收集整理的jmeter 采样器作用_实施自定义JMeter采样器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。