Étape au hasard sur l'URL qui vient à GMail avec Jmeter. Je fabrique un outil appelé. Je ne comprends pas le comportement de MailReaderSampler ... imap ne fonctionne pas selon la référence. pop3 est connecté. Mais comment extraire le texte? Quelque chose comme ca. En particulier,
Je suis imbriqué comme ça, et je ne sais pas comment prendre ce texte en post-traitement d'extraction d'expressions régulières. (Je ne sais pas comment me concentrer sur le premier résultat dans la couche inférieure)
Après tout, j'avais l'habitude de créer mon propre échantillonneur, alors faites votre propre échantillonneur. En cela.
J'ai oublié comment faire mon propre échantillonneur, alors j'ai quand même écrit un article.
apache-jmeter : 5.2.1 JRE : 1.8
DemoSampler.java
package jmeter.extend.sampler;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
public class DemoSampler extends AbstractJavaSamplerClient {
//Définir les clés de paramètres
private static final String MAIL_ADDRESS = "mailAddress";
private static final String PASSWORD = "password";
/* (non-Javadoc)
*Définir les paramètres par défaut
*/
@Override
public Arguments getDefaultParameters() {
//Définition des paramètres par défaut
Arguments defaultParameters = new Arguments();
defaultParameters.addArgument(MAIL_ADDRESS, "[email protected]");
defaultParameters.addArgument(PASSWORD, "input your password");
return defaultParameters;
}
@Override
public SampleResult runTest(JavaSamplerContext context) {
SampleResult result = new SampleResult();
try {
//Obtenez les paramètres saisis dans JMeter
String mail = context.getParameter(MAIL_ADDRESS);
String password = context.getParameter(PASSWORD);
//Mesure de l'heure de début(1)
result.sampleStart();
//Traitement arbitraire que vous souhaitez mesurer
Thread.sleep(500);
StringBuilder bulder = new StringBuilder();
bulder.append("this is ResponseData\n");
bulder.append("mail : ").append(mail).append("\n");
bulder.append("password : ").append(password).append("\n");
bulder.append("Chaîne de caractères japonais Chaîne de caractères\n");
bulder.append("URL : https://github.com/");
//Mesure du temps terminée(2)
// (2) - (1)Le temps peut être obtenu comme temps de réponse de JMeter
result.sampleEnd();
//Acquisition réussie de JMeter
result.setSuccessful(true);
//Code de réponse OK JMeter(200)Mis à
result.setResponseCodeOK();
result.setRequestHeaders("this is RequestHeaders");
result.setResponseData(bulder.toString(), "utf-8");
//Ce mec ne semble apparaître nulle part
result.setResponseMessage("this is ResponseMessage");
} catch (Exception e) {
//Mesure du temps terminée(2)
// (2) - (1)Le temps peut être obtenu comme temps de réponse de JMeter
result.sampleEnd();
//Le résultat de l'acquisition JMeter échoue
result.setSuccessful(false);
//Code de réponse OK JMeter(200)Définir sur un nombre autre que
result.setResponseCode("500");
//Remplissez le contenu des données de réponse affichées par JMeter
result.setResponseMessage("Error!! " + e.getMessage());
}
return result;
}
}
Toutes les bibliothèques requises se trouvent sous le bac de jmeter.
Transformez le package ci-dessus en un bocal avec la fonction d'exportation d'Eclipse, etc. Placez-le simplement sous libs / ext de jmeter et redémarrez jmeter. Si votre code dépend d'un autre bocal que celui fourni avec jmeterlib depuis le début, Placez également ce pot dans le même dossier.
Utilisez les requêtes Java. Les classes qui héritent de AbstractJavaSamplerClient sont répertoriées dans la liste des noms de classe.
Le caractère spécifié dans result.setResponseData est affiché dans ResponseBody.
https://qiita.com/kiida/items/6af3e46e5bae14c38242 C'est presque un pakuri rond pour référence. Je suis désolé.
Vous pouvez l'obtenir normalement à partir de MailReaderSampler! S'il vous plaît laissez-moi savoir si vous avez des questions.
Recommended Posts