【问题标题】:JMeter reports are different in JenkinsJMeter 报告在 Jenkins 中有所不同
【发布时间】:2016-07-14 16:27:00
【问题描述】:

我有一个具有两个线程组的 JMeter 测试。第一个线程组出去并获得身份验证和审计令牌。第二个需要令牌来测试我对收集性能数据感兴趣的 API。我仅将侦听器设置为第二个线程组中采样器的子级。运行 JMeter 我得到了我想要的结果。但是当我从 Jenkins 执行相同的测试时,我会从两个线程组中得到结果。我不想要第一个线程组的结果。它们把我的图表弄得乱七八糟,而且由于每次只有一次执行,它们在性能方面波动,足以经常触发我的不稳定/失败百分比。有没有办法让詹金斯只报告我想要的听众/采样器?我是否必须运行一项测试才能获得令牌,而必须运行另一项测试才能获得令牌?如果是这样,我如何将令牌从一个测试传递到另一个测试?

【问题讨论】:

  • 在 Jenkins 上,您是否在分布式环境中运行测试?如果是这种情况,那么您可以尝试像这样更改线程组名称.. ${__machineName()}_My Threadgroup 名称。我在分布式环境中遇到了类似的问题,并且能够使用它来解决
  • 感谢您的回复。我尝试了您的解决方案,但似乎没有任何区别。 Jenkins 正在分布式环境中使用。我认为它围绕整个 JMeter 工作包装了一个侦听器,并报告所有 API 调用。我尝试在单独的测试中运行线程,但从一个到另一个获取令牌似乎真的很痛苦。所以我创建了一个 PowerShell 脚本来获取令牌并将它们写入 CSV 文件。这被用作我自己运行的“第二个线程”的输入。也许不是最优雅的解决方案,但它确实有效。

标签: multithreading jenkins jmeter


【解决方案1】:

您可以执行 2 个 jenkins 作业:

  • 第一个作业写入使用 BeanShell/JSR223 PostProcessor 归档令牌

  • 第二个作业使用 CSV 数据集配置从文件中读取令牌

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    相关资源
    最近更新 更多