我们如何在JMETER中编写java代码?

时间:2013-11-07 09:42:57

标签: jmeter

我们如何在JMETER中编写java代码?

我从谷歌获得了一些信息,Java Sampler正在使用它,我尝试了这种方式 只是我复制粘贴来自googe的一些代码,但也从导入中获取错误,总是org.apache.jmeter显示错误,任何正文可以告诉我有关实现和示例代码alao

这是我的java代码

package com.code4reference.jmeter.functions;
import org.apache.jmeter.engine.util.CompoundVariable; 
import org.apache.jmeter.functions.AbstractFunction; 

public class JavaRequestSamplerDemo extends AbstractJavaSamplerClient {

  @Override
  public SampleResult runTest(JavaSamplerContext ctx) {
    JMeterVariables vars = JMeterContextService.getContext().getVariables();
    vars.put("demo", "demoVariableContent");

    SampleResult sampleResult = new SampleResult();
    sampleResult.setSuccessful(true);
    sampleResult.setResponseCodeOK();
    sampleResult.setResponseMessageOK();
    return sampleResult;
  }  
}

3 个答案:

答案 0 :(得分:0)

如果您缺少org.apache.jmeter。*包,则需要将JMeter安装的/ lib / ext文件夹中的所有jar添加到Java构建类路径中。有关如何执行此操作,请参阅IDE文档。

在Eclipse中,它可以通过Project - >完成。属性 - > Java构建路径 在Idea中,它在项目中 - >依赖 如果您正在使用Apache Ant,则需要执行类似

的操作
<path id="build.classpath">
    <fileset dir="${path.to.your.jmeter.lib.ext.folder">
        <include name="*.jar"/>
    </fileset>
<path>

至少有3个地方可以注入Java代码。

<强> 1。 Java请求。

示例:

  • /src/protocol/java/org/apache/jmeter/protocol/java/test/JavaTest.java
  • /src/protocol/java/org/apache/jmeter/protocol/java/test/SleepTest.java

JavaTest和SleepTest Java Request Samplers的源代码是什么

<强> 2。您自己的采样器

示例:

  • /src/examples/org/apache/jmeter/examples/sampler/ExampleSampler.java

第3。 Beanshell或JSR233采样器

JMeter支持Beanshell和JSR233脚本,两者都可以理解Java语法。

JMeter源代码可从JMeter Downloads page获得。

答案 1 :(得分:0)

我会说使用BeanShell是这样的,除非你要的是将一些JMeter功能包装到Java应用程序中。人们创建测试计划似乎很常见,使用BSF或BeanShell添加一些更高级的功能,然后使用Ant运行它所有无头。

答案 2 :(得分:0)

除了Java Sampler需要具备  具有特定JMeter上下文的知识,其他选项:

  1. 您可以用JSR223 element编写Java代码,该代码能够以常规方式执行任何JSR223支持的语言。
  

JSR223采样器允许JSR223脚本代码

  1. 在其他JMeter元素内部,就像作为Controller一样,您可以在__BeanShell函数或__groovy中执行Java代码
  

出于性能考虑,最好使用__groovy函数

  1. 将您的代码打包在jar中,并将其放在JMeter lib文件夹中。然后,您可以执行其公共方法。