问题标签 [jmeter-4.0]

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 投票
2 回答
1194 浏览

jmeter - 如何将值从线程组传递到 TearDown 线程组?

我正在尝试实现负载测试测试脚本,该脚本应根据场景执行:

  • 会有几个“生产者”线程,它们会通过网络服务将文件上传到数据库;

  • 很少有“消费者”线程会下载“生产者”上传的文件。

目前,我被困在数据库清理上。我可以在发送“生产者”请求后使用 JSON 提取器获取记录 ID,并使用此 ID 来模拟文件下载。但是这个 ID 在 Tear Down Thread Group 中是不可见的。

你能告诉我,我如何将值从将文件上传到 Tear Down Thread Group 的 Thread Group 传递?

目前,我的 JMeter 4 项目使用具有以下配置的对象:

  1. Producer Thread Group #1(该线程组上传下载文件)
    • POST HTTP 请求(此请求上传文件)
    • JSON 提取器
      • 创建变量的名称 = id_to_delete
      • JSON 路径表达式 = $.record-id
      • 比赛编号 = -1
    • GET HTTP 请求(此请求下载文件)
  2. 生产者线程组 #2
  3. 生产者线程组 #3
  4. ...
  5. 拆解线程组。
0 投票
0 回答
256 浏览

jmeter - 在 Jmeter 中接收更多用户的空响应

我在 Jmeter 中记录了一个场景。

登录 -> 主页 -> 点击链接打开页面 A -> 打开页面 A -> 点击标签打开页面 B -> 打开页面 B -> 注销

  1. 我用 5 个用户执行上述场景,加速 20 秒,永远循环计数,调度程序持续时间 300 秒。 更少的用户线程

所有样品均合格。(附截图) 结果

  1. 我用 10 个用户执行,加速 20 秒,永远循环计数,调度程序持续时间 600 秒。[10 个用户线程][3]

这也很成功。(附截图) 结果

  1. 我将用户增加到 40 个,增加了 80 个并检查了 Loop Count Forever(未选择调度程序) 失败的线程

在大约 25 个用户之后,示例开始失败。(附截图) 结果1

请求的目标页面的响应数据为空,响应代码为 200(页面 A)。(附截图)结果1

页面 B 的响应代码为 500。(附屏幕截图)结果 2

我增加了堆大小,也从命令提示符执行了脚本。可能是什么问题?

Javascript错误

经过一些研究,我知道了,我必须使用 Web 驱动程序。如何将 Web 驱动程序采样器集成到我的原始脚本中。

0 投票
2 回答
1152 浏览

groovy - 为什么没有从 JSR223 Groovy Assertion 设置 JMeter 变量?

我正在尝试设置从 JSR223 Groovy Assertion 中的 Jmeter 属性中提取的 Jmeter 变量。

我感兴趣的 Jmeter 属性如下所示:

为了从 Jmeter 属性中提取值,我创建了 JSR223 Groovy 以下断言脚本:

该脚本不适用于 JMeter 变量,但适用于 JMeter 属性。以下是 JMeter 属性的样子:

你能告诉我,如何修复我的代码以正确设置 JMeter 变量?

0 投票
2 回答
4468 浏览

jmeter - 使用 jmeter 在给定的时间间隔重复身份验证令牌请求

我有一个 JMeter 脚本,可以测试大约 25 个不同的 REST API(这不是负载测试,而是 API 功能测试)。所有这些 API 都需要一个基于 OAuth 的访问令牌,我在测试开始时生成并保存在一个变量中,然后所有后续 API 调用都会使用该变量。

问题是令牌的到期时间是 10 分钟,如果测试超过该持续时间,那么其余的调用将失败并出现 401。有没有办法可以重复我在 5 分钟后重复拨打的第一个电话,以便新的访问令牌始终可用?谢谢。

在此处输入图像描述

不确定此图像是否会有所帮助,但 opentokenID 调用会生成访问令牌,然后是使用它的所有其他调用。我想知道是否有某种机制可以在测试过程中重新执行 opentokenId 调用以获得新的访问令牌。

0 投票
1 回答
833 浏览

sql-server - 使用 Java 9 和 JMeter 4.0 的 JDBC 错误

我向 JMeter 添加了以下插件:

  • mysql-connector-java-5.1.46.jar
  • mssql-jdbc-6.4.0.jre9.jar

当我尝试使用 Java 9 通过 JMeter 4.0 执行与 [com.microsoft.sqlserver.jdbc.SQLServerDriver] 的 JDBC 连接时,我在日志中遇到问题:

为什么会这样?我该如何解决这个问题?

0 投票
1 回答
1516 浏览

jmeter - 即使资源可用,Jmeter 也会挂起

嗨,我正在使用 Jmeter 到 20 个并行 HTTP 请求(每个线程 20 个线程一个请求和 1 个迭代)。
每个请求 POST JSON 差不多 2mb。
我已经给了 30gb 的 Jmeter 堆,但 jmeter 线程仍然卡住并且没有响应。
在非gui模式下运行jmeter。
测试服务器工作正常。
任何帮助可能是什么问题?

LoadGenerator 系统:
jmeter 版本:4
OS 64bit
Windows server 2016
RAM 128GB
CPU Intel(R) Xeon(R) CPU E5-2673 v3 @2.40GHZ

0 投票
1 回答
85 浏览

asp.net - 是否建议使用 JMETER 测试复杂的 ASP.NET UI 工作流进行性能测试

我们开发了 Asp.NET 应用程序。它是基于库存的自动化系统,用于下订单并将其运送给客户。没有 REST API。它包含 UI 和 API 层。我们需要使用 JMETER 对 1000 个用户进行性能测试,这些用户将创建库存、创建订单、创建项目、将其运送给客户。我们正在与 JMETER 进行可行性研究。使用 JMETER,我在 FireFox 上记录 Create Order 工作流程。在 UI 上,我执行了 10-20 个动作。这些被记录在 JMETER 中。但是,对于 20 个操作,我可以看到超过 50 个记录的 HTTP 请求。这些是内部调用的 API。

另外,请注意,仅录制和播放是行不通的。我需要存储唯一的订单 ID,从 CSV 读取数据等。所以它也需要很多努力。

是否建议使用 JMETER 进行此类性能测试。UI 更改、流程更改或开发人员对 JSON 格式、GET/POST 数据等代码所做的任何更改可能会影响我的脚本?

示例录制脚本

0 投票
1 回答
1134 浏览

jmeter - JMeter - jexl3 函数不能声明局部变量

我正在使用最新的 JMeter 4 并尝试使用基本的jexl 语法jexl 函数中声明局部变量

局部变量 可以使用 var 关键字定义;它们的识别规则与上下文变量相同。基本声明:var x;

所以在 JMeter 我试过了

并成功,但使用${__jexl3(var x;)}它会引发解析器异常:

是 JMeter 问题还是 jexl3 问题,还是我遗漏了什么?

编辑

除了无法解析 var 之外,它还无法解析;,这是一个使用 jexl2 的工作示例,但使用 jexl3 失败:

0 投票
1 回答
158 浏览

docker - 如何在容器停止时使用 dockerfile 中的入口点进行 Volume 命令来显示结果

我的 Docker 文件链接:- https://www.dropbox.com/s/uiu3q6qdpmqst2f/Screenshot%202018-04-26%2010.01.59.png?dl=0

我正在使用这个命令

码头工人构建 -t jmeter123 。

docker run -v /var/www/html/"$(date +%Y%m%d)":/opt/apache-jmeter-4.0/bin/result_html jmeter123:latest

如何使用时间戳更新 html 报告

0 投票
1 回答
761 浏览

jmeter - 如何在 Apache JMeter 中对多个控制器进行优先级排序

我在 JMeter 中有一个要求,在Thread Group中执行几个记录的HTTP 请求(放置在Transaction Controller中)时,它们应该从一个一个开始执行,即)控制器 1、控制器 2、...和最终控制器。

但是当我给它 100 个线程时,它开始执行,控制器 1 执行 100 次,然后控制器 2 执行 100 次,它一直持续到最后一个控制器。

在此处输入图像描述

从上面显示的图像中,您可以验证我的结果。而且我需要知道,当我提供多个线程计数时,我如何确定我的控制器的优先级。我对 100 个线程的确切输出应该如下所述,

请让我知道在JMeter 4.0中这个要求是如何实现的

提前致谢