2010-03-04 14 views
17

Me gustaría probar una llamada de servicio de Java. Mi primer intento fue utilizar la "Java Request Sampler" El docu dicePrueba de clases de Java con JMeter

Este muestrario le permite controlar una clase Java que implementa la interfaz JavaSamplerClient.

no estoy seguro de cómo obtener la interfaz org.apache.jmeter.protocol.java.sampler.JavaSamplerClient ya que no hay ni Maven Artefacto proporcionados binarios en el lado de JMeter. Solo un plugin de JMeter Maven (que no es lo que estoy buscando). Pude instalar los binarios necesarios en mi repositorio Maven local, simplemente no sé dónde están disponibles.

¿Se pregunta si alguien está utilizando el "Java Request Sampler"?

P.S. Tal vez debería probar el JUnit Sampler

+3

JMeter está ahora en el centro de experta. – Ardesco

Respuesta

27

Estamos construyendo con ANT y estamos utilizando los JAR, que se encuentran en el binary file from JMeter bajo \lib\ext\. El AbstractJavaSamplerClient que se utiliza para el Java Request Sampler se encuentra en el archivo \lib\ext\ApacheJMeter_java.jar. Para trabajar con esta clase abstracta, también debe importar el archivo JAR \lib\ext\ApacheJMeter_core.jar, que (por ejemplo) contiene la clase SampleResult.

Después de construir nuestra clase de Java, colocamos el archivo JAR resultante también en la carpeta \lib\ext\. Si nuestra clase utiliza alguna dependencia (3ra parte JAR), la colocamos en la carpeta '\ lib'. Después de eso, puede iniciar JMeter y puede seleccionar su clase Java en un Java Request Sampler.

Aquí es un ejemplo de una solicitud de tales Sampler Java:

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; 
    } 
} 
+1

Creo que es bastante importante comprender el ciclo de vida de dicho SamplerClient. Para cada subproceso se crea una instancia (según el javadoc, se crean otras instancias, por ejemplo, para buscar nombres de parámetros). Hay métodos para preparar y desmontar la prueba. Es realmente lindo, gracias por redirigirme en esta dirección. –

Cuestiones relacionadas