jmeter 자체 함수 인 스 턴 스 추가(jmeter 5.3+IntelliJ IDEA)

4679 단어 jmeter자정 함수
1.IntelliJ IDEA 를 열 고 Maven 프로젝트 를 새로 만 듭 니 다.

2.Jmeter 의존 패키지 가 져 오기
아이디어 에 jmeter 아래 ApacheJMeter 가 져 오기core.jar 와 ApacheJMeterfunctions.jar 의존 패키지



3.자바 사용자 정의 함수 추가
확장 JMeter function 을 실현 하려 면 주로 두 가지 가 있 습 니 다.
function 을 실현 하 는 클래스 의 package 성명 은 org.apache.jmeter.functions.AbstractFunction 을 계승 하고 해당 하 는 방법 을 실현 해 야 합 니 다.
확장 AbstractFunction 클래스

package org.apache.jmeter.functions;

import java.util.Collection;
import java.util.LinkedList;
import java.util.List;

import org.apache.jmeter.engine.util.CompoundVariable;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler;
import org.apache.jmeter.util.JMeterUtils;


public class MyFunction extends AbstractFunction {

	//   function   
  private static final List<String> desc = new LinkedList<>();
  //function  
  private static final String KEY = "__MyFunction";

  static {
    desc.add("systemnum");
    desc.add("sizenum");
  }

  private CompoundVariable systemnum;
  private CompoundVariable sizenum;

	//          
  /** {@inheritDoc} */
  @Override
  public String execute(SampleResult previousResult, Sampler currentSampler)
      throws InvalidVariableException {

    long num = Long.valueOf(systemnum.execute());
    int size = Integer.valueOf(sizenum.execute());

    String str = Long.toHexString(num);;

    while(str.length()<size){
      str = "0" + str;
    }

    return str;

  }

	//        GUI        
  /** {@inheritDoc} */
  @Override
  public void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException {
    checkParameterCount(parameters, 2);
    Object[] values = parameters.toArray();

    systemnum = (CompoundVariable) values[0];
    sizenum = (CompoundVariable) values[1];

  }

	//          ,                
  /** {@inheritDoc} */
  @Override
  public String getReferenceKey() {
    return KEY;
  }

	//     GUI        ,            jmeter GUI   
  /** {@inheritDoc} */
  @Override
  public List<String> getArgumentDesc() {
    return desc;
  }

}
4.사용자 정의 함 수 를.class 파일 로 컴 파일 합 니 다*
Maven 은 기본적으로 JDK 1.5 로 컴 파일 하기 때문에 JDK 1.8 버 전 으로 컴 파일 할 때 잘못 보 고 했 습 니 다.

pom.xml 에 다음 코드 를 추가 하고 컴 파일(Build->Build procject)을 진행 하여 컴 파일 에 성공 하 였 습 니 다.

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

5..class 파일 을 ApacheJMeter 에 추가functions.jar 중
WinRAR 으로 ApacheJMeter 열기functions.jar,\org\apache\jmeter\\functions 디 렉 터 리 에 들 어 갑 니 다.

[추가]를 누 르 고 컴 파일 된.class 파일 을 선택 하 십시오.
6、
jmeter 다시 시작
함수 도 우미 열기

사용자 정의 함수 추가 성공

jmeter 에 자체 함수 추가 인 스 턴 스(jmeter 5.3+IntelliJ IDEA)에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 jmeter 에 자체 함수 추가 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기