java接口压力测试框架_8-26接口压力测试-3Jmeter-Java请求

1.新建maven工程

2.导入依赖,并使用shade将所需的依赖打入jar包

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">

4.0.0

ForJmeter

com.csj2018

1.0-SNAPSHOT

org.testng

testng

6.14.3

junit

junit

4.12

org.hamcrest

hamcrest-all

1.3

io.rest-assured

rest-assured

4.0.0

io.rest-assured

json-path

4.0.0

io.rest-assured

xml-path

4.0.0

io.rest-assured

json-schema-validator

4.1.2

com.fasterxml.jackson.core

jackson-databind

2.9.8

com.fasterxml.jackson.core

jackson-core

2.9.8

com.fasterxml.jackson.core

jackson-annotations

2.9.8

org.apache.poi

poi

4.0.1

org.apache.poi

poi-ooxml

4.0.1

org.apache.jmeter

ApacheJMeter_core

3.3

org.apache.jmeter

ApacheJMeter_java

3.3

org.apache.maven.plugins

maven-shade-plugin

2.1

package

shade

io.rest-assured

3.编写Java类

import io.restassured.response.Response;

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 static io.restassured.RestAssured.given;

public class TestJmeterDemo extends AbstractJavaSamplerClient {

String corpid;

String corpsecret;

@Override

public void setupTest(JavaSamplerContext context){

System.out.println("测试开始");

corpid = context.getParameter("corpid");

corpsecret = context.getParameter("corpsecret");

}

@Override

public SampleResult runTest(JavaSamplerContext javaSamplerContext) {

SampleResult result = new SampleResult();

result.sampleStart();

//同@Test

String url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken";

Response res = given().param("corpid",corpid).param("corpsecret",corpsecret).get(url).prettyPeek();

String accessToken = res.getBody().jsonPath().getString("access_token");

if(res.statusCode() == 200){

result.setSuccessful(true);

result.setResponseData(res.getBody().prettyPrint(),"UTF-8");

}else{

result.setSuccessful(false);

}

result.sampleEnd();

return result;

}

@Override

public void teardownTest(JavaSamplerContext context){

System.out.println("测试结束");

}

/**

* 参数化

*/

@Override

public Arguments getDefaultParameters() {

Arguments arguments = new Arguments();

arguments.addArgument("corpid","corpid.value");//value可以为空

arguments.addArgument("corpsecret","");

return arguments;

}

}

4.打包

#打包

mvn clean package

#将打出的jar移到指定目录

mv com.csj2018-1.0-SNAPSHOT.jar ~/otherApp/apache-jmeter-3.3/lib/ext/

5.启动jmeter,添加java请求,运行

cfbad5c002ca8990ac7436384ffb9154.png

4010bce79680a356616de589b979c49b.png

问题

1.打的jar包提示某些类不存在,如Uncaught Exception java.lang.NoClassDefFoundError: org/ccil/cowan/tagsoup/Parser. See log file for details.

bdc69a22f1f89e57ba30971a4d2ce148.png

原因:如果是三方依赖的包,那需要打在最后的jar里,百度搜索assembly的maven。只需要在inclueds里加入这个包即可

io.rest-assured

org.ccil.cowan.tagsoup

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值