如何加上「;随请求发送参数";在jmeter中使用java

如何加上「;随请求发送参数";在jmeter中使用java,jmeter,Jmeter,我是jmeter新手,我想使用java代码以非gui方式执行jmeter 在端点上进行测试时,我希望通过java代码传递“随请求发送参数”。因此,我已尝试按如下方式发送数据 HTTPSampler httpSampler = new HTTPSampler(); httpSampler.setProtocol("http"); httpSampler.setDomain(hostip); httpSampler.setPort(80

我是jmeter新手,我想使用java代码以非gui方式执行jmeter

在端点上进行测试时,我希望通过java代码传递“随请求发送参数”。因此,我已尝试按如下方式发送数据

        HTTPSampler httpSampler = new HTTPSampler();
        httpSampler.setProtocol("http");
        httpSampler.setDomain(hostip);
        httpSampler.setPort(8080);
        httpSampler.setPath(endpointpath);
        httpSampler.setMethod("POST");
        HTTPArgument httpArgument = new HTTPArgument();
        httpArgument.setValue("[{ \"firstname\": "", \"name\": \"Venkat\"}]");
没有出现错误。请求未添加到数据库中


有人能建议并提供一个示例代码来使用java添加post请求主体吗?

httpSampler没有相关的参数。基本上,您只是发送一个http请求,没有任何参数

您可能必须使用addTestElement/setArgument方法将参数与httpsampler关联

            httpSampler.setMethod("POST");
            HTTPArgument httpArgument = new HTTPArgument();
            httpArgument.setValue("[{ \"firstname\": \"venkatachalam\", \"name\": \"Venkata\"}]");
            httpSampler.addTestElement(httpArgument);
只是好奇——顺便问一下,为什么要使用java创建JMeter测试


要在非gui模式下运行JMeter测试,请使用以下命令和选项。(假设已将%JMETER_HOME%/bin添加到PATH变量)

  • -n[这指定JMeter在非gui模式下运行]
  • -t[包含测试计划的JMX文件的名称]
  • -l[记录样本结果的JTL文件的名称]
  • -j[JMeter运行日志文件的名称]
除了这些选项之外,JMeter还有几个其他参数可用于在非GUI模式下运行

  • -R[远程服务器列表]在指定的远程服务器中运行测试
  • -H[代理服务器主机名或ip地址] -P[代理服务器端口]

我添加了“httpSampler.addTestElement(httpArgument);参数httpArgument=new Arguments();httpArgument.AddArguments(“Test”,“[{”FirstName:“Venkatachalam”,“name:“Venkata”}]”);httpSampler.setArguments(httpArgument);post调用仍然不起作用。为了回答您的问题。因为我使用过其他测试工具,我了解java。请告诉我哪种工具适合创建jmeter测试。您可以使用java编程创建jmeter。但我认为维护和调试等非常困难。创建测试并在GUI模式下运行,以确保ev任何事情都是正确的。如果一切正常,则使用命令在非gui模式下运行相同的测试文件。检查此链接。请参考:1-2-它首先在gui模式下工作正常吗?是的,它在gui模式下工作正常。如果可能,您可以提供完整的代码吗?还可以尝试转义所有“”。我在此处共享了我的代码“”
jmeter -n -t D:\TestScripts\script.jmx -l D:\TestScripts\scriptresults.jtl