问题标签 [gatling-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
36 浏览

gatling - 我们如何同时执行两个 post 请求

我如何在 Gatling 中同时执行两个发布请求

因为我无法同时执行两个发布请求

0 投票
1 回答
1690 浏览

gatling - gatling-3.0.0:javax.net.ssl.SSLHandshakeException:收到致命警报:bad_certificate

我在 SBT 中使用 Gatling 3.0.0 作为插件 我正在配置浏览器,如https://gatling.io/docs/current/http/recorder/#recorder中给出的配置标题之后,然后当我使用gatling:startRecorder在 sbt 中并尝试访问我的网站https://www.example.com/显示 Firefox

这是异常日志

0 投票
1 回答
1004 浏览

scala - 用于加特林 3 的 CSV 馈线

我正在使用 Gatling 3。我有一个 csv 馈送器,其中只有一个标题为 accountIds 的列。我需要在我的 POST 请求正文中将其作为 JSON 传递。我尝试了很多不同的语法,但似乎没有任何效果。我也无法打印正文中实际发送的内容。如果我删除“$accountIds”并改用实际值,它会起作用。下面是我的代码:

0 投票
1 回答
1090 浏览

scala - Gatling 请求正文为字节数组

上面的代码用于将每个循环馈送数据作为字符串发送到请求的正文。假设如果我想在正文中作为字节数组而不是字符串发送,我该如何修改该行.body(StringBody("""${request}"""))

代码.body(ByteArrayBody(getBytesData("""${request}""")))不起作用。有什么建议吗?

0 投票
0 回答
988 浏览

gradle - Gatling 报告场景中第一个请求组的响应时间更长

我正在使用 id "com.github.lkishalmi.gatling" 版本 "3.2.9" 来运行我的 gatling 性能测试

下面是我的模拟代码

我只是将图像上传到我的服务器。服务器反过来将这些图像推送到 kafka 队列并以 200 响应

我在第一个 http 组中的所有请求的问题总是很慢..而其他 http 组的速度更快。我知道第一个请求需要很长时间,因为服务器需要一些时间来预热。但是我很困惑为什么所有 10 个请求都很慢。

以下是上述代码相同图像的响应时间分布

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

有人可以解释为什么响应时间不断改善。第一组请求和后续组请求有什么区别?

我的服务器是一个简单的 Spring Boot 服务器,它接受多部分请求并将其推送到 Kafka 队列。


不同场景下分离后的代码

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在不同的场景中分开会给出相似的响应时间。然而,将所有请求放在相同的场景中,第一组的响应时间会变慢,但后续组的响应时间会更好。有人可以帮我解释一下这种行为吗

0 投票
2 回答
3140 浏览

karate - karate-gatling:如何解决 Java 堆空间 OutOfMemoryError?

目前我正在尝试使用 10 个用户并行运行我们的功能测试(大约 300 个请求)gatling-plugin

在项目文件夹中使用以下.mvn/jvm.config本地 Maven 选项:

在某些时候,在并行处理一些大响应时,加特林进程被中止:

使用以下堆栈跟踪:

我尝试以不同的方式将堆空间增加到 10 GB ( -Xmx10g):

  1. 通过环境属性MAVEN_OPTS=-Xmx10g
  2. 通过本地项目 Maven 选项.mvn/jvm.config
  3. 通过这里maven-surefire-plugin建议的配置

尽管如您在 maven 进程开始时看到的那样,为 maven 进程分配了 10GB:

但在每次执行OutOfMemoryError期间仍然抛出。gatling-plugin

分析每个堆转储时eclipse memory analyzer总是显示相同的结果:

可以做些什么来减少堆空间使用和防止OutOfMemoryError?有人可以分享一些想法和经验吗?

0 投票
1 回答
378 浏览

karate - karate-gatling:当 gatling 馈线和模拟工作流程由于登录请求错误而失败时,不会生成报告

如果在加特林模拟(没有馈线)期间发生登录错误,通常会生成加特林报告,显示登录请求失败。登录请求仅在以下位置调用一次karate-config.jskarate.callSingle('classpath:login.feature', config);

在定义一个执行空手道功能以从数据库中检索一些现有数据以在模拟期间使用的 gatling 馈线后,如果在馈线初始化期间发生登录错误,则不会生成 gatling 报告。

我尝试了以下解决方法:

  • 尝试捕获馈线初始化中的所有异常
  • 强制 2 个登录请求karate-config.js:一个用于 feederkarate.call()karate.callSingle()其他功能

在这两种情况下,由于以下原因,都不会生成加特林报告java.lang.reflect.InvocationTargetException

虽然 2 个登录请求记录在karate.log.

那么,什么是正确的方法,以这样的方式定义馈送器(执行登录功能) ,登录请求在整个模拟中只发送一次,即使登录请求失败,也会生成报告? 好像根本没有定义馈线。

0 投票
1 回答
793 浏览

scala - Gatling Scala:无法使用会话变量将身份验证令牌发送到方法

下面代码中使用的会话变量似乎无法通过 Token Type --> Bearer 和 access_token 使用会话变量,这是完整的代码,你可以看看,这里是提供的代码..不用担心所有令牌都是虚拟令牌,因为我在此处粘贴代码之前已更改。Test 期望首先执行 login 方法,然后执行 CreatePrivateEvent 方法,因为后者从 Login 方法中获取令牌,因此我已经写了

从日志看 Token Type --> Bearer 和 access_token 由 Login Method 成功生成,但相同的令牌没有传播到 CreatePrivateEvent 方法。

您可以建议使用会话变量的任何其他方式会受到高度欢迎吗?

这是详细的加特林控制台日志:-

0 投票
2 回答
272 浏览

sbt - 在不生成报告的情况下运行 Gatling SBT

是否可以在不生成报告的情况下运行gatling-sbt插件?

我在文档或在线其他地方找不到任何提到这一点的内容。

0 投票
1 回答
206 浏览

gatling-plugin - 来自 Frontline 异常的 Gatling 构建

Gatling Build 异常失败:

[错误] 无法在项目 msg-service-prf 上执行目标 io.gatling.frontline:frontline-maven-plugin:1.0.3:package (default): 目标 io.gatling.frontline:frontline-maven-plugin 的执行默认值:1.0.3:package failed: java.util.zip.ZipException: error in opening zip file -> [Help 1]。

同样的事情在本地笔记本电脑上也能正常工作。

加特林版本使用:3.3.1.

关于我所做的更多细节:由于现有的 Gatling 支持无法提供对多个连接的支持,我们尝试从 Gatling 代码扩展它。作为其中的一部分,修改了一个 scala Gatling 源文件并尝试对其进行测试。

它在本地笔记本电脑上运行良好。但是,我在 Frontline 中配置了 TC 并开始测试,它进入了 Broken 状态。显示上述错误的日志。

我做了什么来解决这个问题:1)在 pom.xml 中排除了 Gatling jms jar。因为,“gatling jms”源项目可用于目标项目作为源。在本地,它没有给出任何问题。

如果你们中的任何人遇到这样的问题,请告诉我你是如何解决这个问题的。