jmeter 插件二次开发

上一篇 / 下一篇  2019-10-17 18:06:16 / 个人分类:接口测试

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cyjs1988/article/details/84938497
————————————————
版权声明:本文为CSDN博主「猎摘互联网软件测试业界技术文章专用博客」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cyjs1988/article/details/84938497

把需要的jar包 添加到maven依赖中

jmeter中javasample请求需要的jar包

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
 
    <groupId>MyJmeter</groupId>
    <artifactId>MyJmeter</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <jmeter.version>3.0</jmeter.version>
    </properties>
    <dependencies>
        <!--jmeter-->
        <dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>ApacheJMeter_core</artifactId>
            <version>${jmeter.version}</version>
        </dependency>
 
        <dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>ApacheJMeter_java</artifactId>
            <version>${jmeter.version}</version>
        </dependency>
    </dependencies>
 
    <build>
        <plugins>
            <!--<plugin>-->
            <!--<groupId>org.apache.maven.plugins</groupId>-->
            <!--<artifactId>maven-jar-plugin</artifactId>-->
            <!--<version>2.4</version>-->
            <!--<configuration>-->
            <!--<archive>-->
            <!--<manifest>-->
            <!--<addClasspath>true</addClasspath>-->
            <!--<classpathPrefix>lib/</classpathPrefix>-->
            <!--<mainClass>etms.TestEtms</mainClass>-->
            <!--</manifest>-->
            <!--</archive>-->
            <!--</configuration>-->
            <!--</plugin>-->
            <!--<plugin>-->
            <!--<groupId>org.apache.maven.plugins</groupId>-->
            <!--<artifactId>maven-dependency-plugin</artifactId>-->
            <!--<executions>-->
            <!--<execution>-->
 
            <!--<phase>package</phase>-->
            <!--<goals>-->
            <!--<goal>copy-dependencies</goal>-->
            <!--</goals>-->
            <!--<configuration>-->
            <!--<outputDirectory>-->
            <!--${project.build.directory}/lib-->
            <!--</outputDirectory>-->
            <!--</configuration>-->
            <!--</execution>-->
            <!--</executions>-->
            <!--</plugin>-->
 
        </plugins>
    </build>
 
</project>

然后编写代码如下
package com.niu.MyJmeter;
 
import javafx.scene.shape.ArcTo;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.xmlbeans.impl.xb.xsdschema.impl.PublicImpl;
 
/**
 * Created by Administrator on 2017/8/30 0030.
 */
public class JmeterTest implements JavaSamplerClient {
    private String interfaceName;
    private String methodName;
 
    @Override
    public void setupTest(JavaSamplerContext javaSamplerContext) {
        //某种连接只连接一次,例如数据库
        System.out.print("测试开始");
 
    }
 
    @Override
    public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
        SampleResult result = new SampleResult();
        //获取页面上interfaceName的方法
        interfaceName = javaSamplerContext.getParameter("interfaceName");
        //获取页面上methodName的方法
        methodName = javaSamplerContext.getParameter("methodName");
        //测试开始的时间戳
        result.sampleStart();
        //设置响应数据的格式
        result.setResponseData(interfaceName+":"+methodName,"UTF-8");
        //测试结束的时间戳
        result.sampleEnd();
        //设置成功的
        result.setSuccessful(true);
        //设置响应code码
        result.setResponseCodeOK();
        //设置数据编码格式
        result.setDataEncoding("UTF-8");
        return result;
    }
 
    @Override
    public void teardownTest(JavaSamplerContext javaSamplerContext) {
        System.out.print("测试结束");
    }
 
    @Override
    public Arguments getDefaultParameters() {
        //添加参数
        Arguments arguments = new Arguments();
        arguments.addArgument("interfaceName","");
        arguments.addArgument("methodName","");
        return arguments;
    }
 
    public static void main(String[] args){
        JmeterTest jmeterTest = new JmeterTest();
        JavaSamplerContext arg0 = new JavaSamplerContext(jmeterTest.getDefaultParameters());
        jmeterTest.runTest(arg0);
        jmeterTest.teardownTest(arg0);
    }
}

然后用IDEA中的clean 先清除包,再install打成jar包,放到jmeter中的javasample中,本次代码中的参数是interfaceName, methodName ,然后面填入值,就可以用查看结果树来查看响应结果。


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar