从java运行Jmeter GUI而无需本地安装

时间:2017-12-12 15:07:50

标签: java jmeter

我正在使用JMeter api构建一个基于swagger JSON文件创建JMeter Testplan的应用程序。我能够以编程方式在非GUI模式下运行此测试计划(如此问题:Run JMeter test case by a Java Stand-Alone Application, without having JMeter installed locally.

但是,我想从我的Java代码启动JMeter Gui,手动设置用户定义的变量(查询参数,凭证等)。

(编辑:我知道我可以在不使用GUI的情况下设置参数。但是,目标是在测试计划中轻松编辑参数,激活/停用请求并使用GUI启动它们,以便测试API使用不同的参数)

如果所有必要的罐子都在类路径上,那么如果没有Jmeter的本地安装,这是否可行?

我的第一种方法是使用常规Jmeter安装中使用的类,尤其是NewDriver类。不幸的是,这个类是最终的,所以我不能以这样的方式扩展它,以便从类路径加载所需的配置和jar。

基本上问题是: 有没有机会从Java代码运行Jmeter GUI而无需本地安装JMeter?

1 个答案:

答案 0 :(得分:0)

您可能会选中jmeter-java-dsl,这可以使您轻松启动嵌入式实例。

例如,您可以添加以下Maven依赖项:

select id, DurationMinutes,
    case 
        when row_number() over(order by DurationMinutes desc) <= 10 then 5
        when row_number() over(order by DurationMinutes desc) <= 20 then 4
        when row_number() over(order by DurationMinutes desc) <= 30 then 3
        when row_number() over(order by DurationMinutes desc) <= 40 then 2
        else 1
    end as val
from [EngagementDb].[dbo].[VW_ActivityDuration]
order by DurationMinutes desc

并定义一个这样的测试:

select id, DurationMinutes,
    case when row_number() over(order by DurationMinutes desc) <= 40 
        then 5 - (row_number() over(order by DurationMinutes desc) - 1) / 10
        else 1
    end as val
from [EngagementDb].[dbo].[VW_ActivityDuration]
order by DurationMinutes desc

您将获得一个运行中的嵌入式JMeter测试,该测试具有对结果的简单断言以及每个请求结果的记录。

当前不支持用户定义的变量,但是您可以提出一个问题,我们将尽最大努力支持您的用例,或者您甚至可以发送拉取请求为普通社区做出这样的改进。