繁体   English   中英

如何在 Gatling 脚本中运行 java 文件?

[英]How to run a java file inside of Gatling script?

我第一次使用加特林。 我有用 java/cucumber 编写的功能测试。 我想从 Gatling-scala 脚本运行这些功能测试来对我的应用程序进行性能测试。 有什么办法吗? 这个想法是使用现有的功能测试并将它们包装在 gatling 脚本中,以便它们可以为多个用户同时执行。

您想要做的是从 Scala 调用 Java 方法。

确保您要调用的方法在 Scala 看到的类路径上可用。 然后参考你要调用的方法。

这篇 博文或许能帮到你。

如果您是第一次使用 Gatling,您是否考虑过使用其他一些可以为您提供此类选项的性能工具? 作为对您的案例的 Gatling 的模拟(如果您想在 Java 上创建功能测试)并稍后使用加载工具运行它们,我建议您检查 Locust。

使用 Locust,您可以使用 Java 甚至 Kotlin 编写测试。 您可以通过以下链接找到方便的教程:

https://www.blazemeter.com/blog/locust-performance-testing-using-java-and-kotlin

另一个更好的选择可能是使用 Taurus 框架,它允许您立即运行 JUnit/TestNG 测试: https : //gettaurus.org/docs/JUnit/ https://www.blazemeter.com/blog/navigating-your-first -steps-using-金牛座

Gatling 主要用于 http 测试。 我要做的是从 gatling 测试中调用 java 代码,该代码将返回一个我检查的值,例如:我从下面的 java 代码中返回一个布尔值以进行性能测试(对于需要扩展 GatlingHttpFunSpec 的功能测试也是如此模拟课)。 还需要使用一个虚拟端点(比如一个总是返回 200 的健康检查 url)。

val myJavaTest: MyJavaTest = new MyJavaTest()
val baseURL="http://localhost:8080"
val endpoint_headers=Map("header1" -> "val1")
val endPoint="/myurl/healthcheck"
setUp(scenario("Scenario ")
    .exec(
http("run first test")
        .get(endpoint)
        .headers(endpoint_headers)
        .check(bodyString.transform(str => {
          myJavaTest.runTest1()//should return boolean
    }).is(true)))
.inject(atOnceUsers(1))).protocols(http
  .baseURL(baseURL))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM