gpt4 book ai didi

Java的HTTP接口测试框架Gatling

转载 作者:撒哈拉 更新时间:2024-12-23 16:49:42 57 4
gpt4 key购买 nike

之前讲过的《JHM》是一个java的基准测试框架,一般用于测试jdk里的API。如果要测试http接口,可以使用Gatling.

你可能用过JMeter,也是可以的 。

原生的Gatling是基于代码测试的,没有UI。你需要创建一个maven项目,或者下载官方的例子:https://github.com/gatling/gatling-js-demo/archive/refs/heads/main.zip .

官方文档参考:https://docs.gatling.io/reference/install/oss/ 。

配置

打开这个例子项目,找到类 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的文章就讲到这里了,如果你想了解更多关于Java的HTTP接口测试框架Gatling的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

57 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com