Question

Je voudrais tester un appel de service Java. Ma première tentative a été d'utiliser le "Java Request Sampler" Le docu dit

Cet échantillonneur vous permet de contrôler une classe Java qui implémente l'interface javasamplerclient.

Je ne sais pas comment obtenir l'interface org.apache.jmeter.protocol.java.sampler.javasamplerclient car il n'y a pas d'artefact maven ni de binaires fournis du côté jMeter. Juste un plugin JMeter Maven (ce qui n'est pas ce que je recherche). Je pourrais installer les binaires nécessaires dans mon référentiel Maven local, je ne sais tout simplement pas où ils sont disponibles.

Vous vous demandez si quelqu'un utilise le "Java Request Sampler"?

PS peut-être que je devrais essayer le Sampleur Junit

Était-ce utile?

La solution

Nous construisons avec la fourmi et utilisons les pots, qui sont situés dans le Fichier binaire de JMeter en dessous de \lib\ext\. La AbstractJavaSamplerClient qui est utilisé pour l'échantillonneur de demande Java est situé dans le fichier \lib\ext\ApacheJMeter_java.jar. Pour travailler avec cette classe abstraite, vous devez également importer le fichier JAR \lib\ext\ApacheJMeter_core.jar, qui est (par exemple) tenant la classe SampleResult.

Après avoir construit notre cours Java, nous mettons également le fichier JAR résultant dans le dossier \lib\ext\. Si notre classe utilise une dépendance (JAR de 3e partie), nous la mettons dans le dossier ' lib'. Après cela, vous pouvez démarrer JMeter et vous pouvez sélectionner votre classe Java dans un échantillonneur de demande Java.

Voici un exemple d'un tel échantillonneur de demande 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;
  }  
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top