【问题标题】:How can one execute Java code using Gatling load testing framework?如何使用 Gatling 负载测试框架执行 Java 代码?
【发布时间】:2020-10-29 15:10:59
【问题描述】:

我正在评估不同的负载测试工具。在尝试了 JMeter 并在运行和查看测试结果时出现了两个异常之后,我想试一试 Gatling。阅读各种资源后,我无法找到如何执行自己的 Java 代码的想法。

我知道 Gatling 是用 Scala 编写的,但它在 JDK 上运行,并且 Scala 能够不合作/调用 Java 代码。所以问题是,如何将两者结合起来,是否有任何可用资源。

【问题讨论】:

    标签: java scala gatling


    【解决方案1】:

    您可以在任何 Scala 类中导入和调用您的 java 类。 所以...示例:

    我有带有加特林场景的 scala 类

    import io.gatling.core.Predef._
    import io.gatling.http.Predef._
    import utils.NewRandom
    
    class Example extends Simulation {
    
      val protocol = http.baseUrl("https://httpbin.org")
    
      val request = http("get request")
        .get("/get")
    
    
      val scn = scenario("Http bin scenario")
        .exec(request)
    
      before({
        println(s"java random ${new NewRandom().getJavaRandom}")
      })
    
      setUp(
        scn.inject(
          atOnceUsers(1)
        ).protocols(protocol)
      )
    }
    

    Gatling 有 before()after() 在加载运行之前和之后执行的方法https://gatling.io/docs/current/general/simulation_structure/#hooks

    如果您注意上面的代码(在before() 方法中),您将看到我创建java 对象和调用方法的行。

    Java 类:

    package utils;
    
    import java.util.Random;
    
    public class NewRandom {
    
        public Integer getJavaRandom() {
            return new Random().nextInt();
        }
    }
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-18
      • 2022-07-20
      相关资源
      最近更新 更多