Java的HTTP接口测试框架Gatling
之前讲过的《JHM》是一个java的基准测试框架,一般用于测试jdk里的API。如果要测试http接口,可以使用Gatling。
你可能用过JMeter,也是可以的
原生的Gatling是基于代码测试的,没有UI。你需要创建一个maven项目,或者下载官方的例子:https://github.com/gatling/gatling-js-demo/archive/refs/heads/main.zip 。
配置
打开这个例子项目,找到类 ComputerDatabaseSimulation 进行修改。
比如我想测试 http://localhost:8080/unified-list-service/dpa/landing 这个地址。配置如下:
import io.gatling.javaapi.core.ScenarioBuilder;
import io.gatling.javaapi.core.Simulation;
import io.gatling.javaapi.http.HttpProtocolBuilder;
import static io.gatling.javaapi.core.CoreDsl.atOnceUsers;
import static io.gatling.javaapi.core.CoreDsl.constantUsersPerSec;
import static io.gatling.javaapi.core.CoreDsl.scenario;
import static io.gatling.javaapi.http.HttpDsl.http;
public class ComputerDatabaseSimulation extends Simulation {
HttpProtocolBuilder httpProtocol =
http.baseUrl("http://localhost:8080/unified-list-service/dpa")
.acceptHeader("*/*");
ScenarioBuilder myScenario = scenario("My Scenario")
.exec(http("Request pure").get("/landing"));
{
setUp(myScenario.injectOpen(constantUsersPerSec(300).during(10)))
.protocols(httpProtocol);
}
}
这个配置的意思是每秒生成300个请求,连续生成10秒,共计3000个请求。
如果想直接生成这3000个请求,可以使用
setUp(myScenario.injectOpen(atOnceUsers(3000))).protocols(httpProtocol);
setUp可以接受多个场景,比如
setUp(
myScenario1.injectOpen(constantUsersPerSec(300).during(10)),
myScenario2.injectOpen(atOnceUsers(300))
).protocols(httpProtocol);
每个场景也可以执行多种请求,比如:
ScenarioBuilder myScenario1 = scenario("My Scenario")
.exec(
http("Request pure").get("/landing"),
http("Request swid").get("/landing?swid={d80a2714}")
).exec(http("Request 1").get("/landing?date={today}"));
运行
执行命令mvn gatling:test

Java的HTTP接口测试框架Gatling的更多相关文章
- Selenium 4 Java的最佳测试框架
几十年来,Java一直是开发应用程序服务器端的首选编程语言.尽管JUnit一直在与开发人员一起帮助他们进行自动化的单元测试,但随着时间的推移和测试行业的发展,特别是伴随着自动化测试的兴起,已经开发了许 ...
- JAVA+Maven+TestNG搭建接口测试框架及实例
1.配置JDK 见另一篇博客:http://www.cnblogs.com/testlurunxiu/p/5933912.html 2.安装Eclipse以及TestNG Eclipse下载地址:ht ...
- Python接口测试框架实战与自动化进阶✍✍✍
Python接口测试框架实战与自动化进阶 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看 ...
- ITF Demo代码(用VBScript构建的接口测试框架)
ITF Demo代码(用VBScript构建的接口测试框架) http://blog.csdn.net/testing_is_believing/article/details/20872629
- 基于LoadRunner构建接口测试框架
基于LoadRunner构建接口测试框架 http://www.docin.com/p-775544153.html
- [译] 第三十天:Play Framework - Java开发者梦寐以求的框架 - 百花宫
前言 30天挑战的最后一天,我决定学习 Play Framework .我本来想写Sacla,但是研究几个小时后,我发现没法在一天内公正评价Scala,下个月花些时间来了解并分享经验.本文我们先来看看 ...
- 初探接口测试框架--python系列7
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
- 初探接口测试框架--python系列2
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
- 初探接口测试框架--python系列3
点击标题下「微信」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期 ...
- 初探接口测试框架--python系列4
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
随机推荐
- `std::optional` 函数返回值
std::optional 是 C++17 中引入的一个模板类,用于表示一个值可能存在也可能不存在的情况. 它可以存储一个值,或者表示没有值的状态,类似于其他编程语言中的"可选"类 ...
- Uefi ABL读取XBL设置的标志位
PBL(启动固化程序)-> XBL(扩展引导加载程序,负责初始化芯片驱动和核心应用功能.XBL通常会加载一些平台相关的驱动程序,并提供通用接口)-> ABL(应用引导加载程序,负责引导操作 ...
- iOS字符串大小写转换使用小结
iOS开发中字符串用的比较多,追加,拆分,截取,替换,比较,大小写转换使用的频率还挺高.今天看oc技术书的时候看到关于大小写转换的地方,有一个说的是所有字母首字母大写,还是第一次看到,记录一下,以备后 ...
- iOS关于列表布局的几种实现方式小结
最近在项目开发中,遇到了常见的列表布局样式,功能的要求是最多六行,动态展示.当时想到的方案是,抽象出一个cell,初始化六个标签,动态的控制显示和隐藏,这样功能上没有问题,就是代码有些冗余.请教了身边 ...
- vue 的常用指令以及作用 ·
1. v-model 多用于表单元素实现双向数据绑定(同 angular 中的 ng-model) 2. v-for 格式: v-for="字段名 in(of) 数组 json" ...
- 1. react项目【前端】+C#【后端】从0到1
1.创建前端基础框架 1.1 前端创建 软件: 1.1.1 npx create-react-app pc ps:pc 是文件名 : 1.1.2 npm start 启动项目 2.创建后端基础框架 软 ...
- element+vue2下的input的样式修改
/* 禁用下的input的字体颜色 */ /* .el-input.is-disabled /deep/ .el-input__inner { color: red; } */ /* 禁用下的inpu ...
- CDQ&整体二分-三维偏序(陌上花开)
题面 本文讲cdq,整体二分的思路与做法.=分治VS数据结构 其实维度这一方面,空间几何可以是维度,像时间这样有规定顺序的词语也可能是维度. cdq 三维偏序,一般可以用一维一维的消.可以用cdq嵌套 ...
- vue暗含玄机的v-for指令
由于是多个事项,那么这个数据模型是一个数组:为了显示这些代办事项我们首先添加一些样本数据 <script> export default { data() { return { title ...
- Java EasyExcel 导出报内存溢出如何解决
大家好,我是 V 哥.使用EasyExcel进行大数据量导出时容易导致内存溢出,特别是在导出百万级别的数据时.你有遇到过这种情况吗,以下是V 哥整理的解决该问题的一些常见方法,分享给大家,欢迎一起讨论 ...