[英]How to run a java file inside of Gatling script?
我第一次使用加特林。 我有用 java/cucumber 编写的功能测试。 我想从 Gatling-scala 脚本运行这些功能测试来对我的应用程序进行性能测试。 有什么办法吗? 这个想法是使用现有的功能测试并将它们包装在 gatling 脚本中,以便它们可以为多个用户同时执行。
如果您是第一次使用 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.