[JAVA] Erstellen Sie mit JMeter Ihren eigenen Sampler

Hintergrund

Geben Sie mit Jmeter zufällig die URL ein, die zu GMail kommt. Ich mache ein Tool namens. Ich verstehe das Verhalten von MailReaderSampler nicht ... IMAP funktioniert nicht gemäß der Referenz. pop3 ist verbunden. Aber wie extrahiert man den Text? So ähnlich. Speziell, image.png

Ich bin so verschachtelt und weiß nicht, wie ich diesen Text durch Nachbearbeitung der Extraktion regulärer Ausdrücke nachbearbeiten soll. (Ich weiß nicht, wie ich mich auf das erste Ergebnis in der untersten Ebene konzentrieren soll)

Immerhin habe ich meinen eigenen Sampler gemacht, also mach deinen eigenen Sampler. Darin.

Ich habe vergessen, wie ich meinen eigenen Sampler mache, also habe ich trotzdem einen Artikel geschrieben.

Ausführung

apache-jmeter : 5.2.1 JRE : 1.8

Sampler-Code

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 {

	//Parametertasten definieren
	private static final String MAIL_ADDRESS = "mailAddress";
	private static final String PASSWORD = "password";

	/* (non-Javadoc)
	 *Legen Sie die Standardparameter fest
	 */
	@Override
	public Arguments getDefaultParameters() {
		//Standardparameter einstellen
		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 {
			//Holen Sie sich die in JMeter eingegebenen Parameter
			String mail = context.getParameter(MAIL_ADDRESS);
			String password = context.getParameter(PASSWORD);

			//Startzeitmessung(1)
			result.sampleStart();

			//Beliebige Verarbeitung, die Sie messen möchten
			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("Japanische Zeichenkette Zeichenkette\n");
			bulder.append("URL : https://github.com/");

			//Zeitmessung beendet(2)
			// (2) - (1)Die Zeit kann als Antwortzeit von JMeter erhalten werden
			result.sampleEnd();

			//Erfolgreiche Übernahme von JMeter
			result.setSuccessful(true);
			//OK JMeters Antwortcode(200)Einstellen
			result.setResponseCodeOK();
			result.setRequestHeaders("this is RequestHeaders");
			result.setResponseData(bulder.toString(), "utf-8");

			//Dieser Typ scheint nirgendwo zu erscheinen
			result.setResponseMessage("this is ResponseMessage");

		} catch (Exception e) {
			//Zeitmessung beendet(2)
			// (2) - (1)Die Zeit kann als Antwortzeit von JMeter erhalten werden
			result.sampleEnd();
			//JMeter-Erfassungsergebnis schlägt fehl
			result.setSuccessful(false);
			//OK JMeters Antwortcode(200)Stellen Sie eine andere Zahl als ein
			result.setResponseCode("500");
			//Füllen Sie den Inhalt der von JMeter angezeigten Antwortdaten aus
			result.setResponseMessage("Error!! " + e.getMessage());
		}
		return result;
	}
}

Alle erforderlichen Bibliotheken befinden sich unter dem Behälter von jmeter.

In JMeter importieren

Machen Sie das obige Paket zu einem Glas mit der Exportfunktion von Eclipse usw. Platzieren Sie es einfach unter libs / ext von jmeter und starten Sie jmeter neu. Wenn Ihr Code von einem anderen Glas abhängt als dem, das von Anfang an mit jmeterlib geliefert wurde, Stellen Sie das Glas ebenfalls in denselben Ordner.

Ausführungsbild

image.png

Verwenden Sie Java-Anforderungen. Klassen, die von AbstractJavaSamplerClient erben, werden in der Liste der Klassennamen aufgeführt.

image.png

Das in result.setResponseData angegebene Zeichen wird in ResponseBody angezeigt.

Referenz

https://qiita.com/kiida/items/6af3e46e5bae14c38242 Es ist fast ein rundes Pakuri als Referenz. Es tut mir Leid.

PS

Sie können es normal von MailReaderSampler erhalten! Bitte lassen Sie mich wissen, wenn Sie Fragen haben.

Recommended Posts

Erstellen Sie mit JMeter Ihren eigenen Sampler
Machen Sie Ihren eigenen Pomodoro
Erstellen Sie Ihr eigenes Elasticsearch-Plugin
Erstellen Sie Ihre eigene Persistenz FW (Java)
Erstellen Sie Ihren eigenen Validator mit Bean Validation
Fügen Sie mit Spring Security Ihre eigenen Authentifizierungselemente hinzu
Erstellen Sie Ihr eigenes Dienstprogramm mit Thymeleaf mit Spring Boot
Rufen Sie Ihre eigene Klasse auf, die unter lib mit Rails erstellt wurde
Lasttest mit JMeter
Rufen Sie Ihre eigene Methode mit PreAuthorize in Spring Security auf
Registrieren Sie Ihr eigenes Docker-Image in ECR mithilfe der AWS CLI
Erstellen Sie mit Java Ihren eigenen einfachen Server und verstehen Sie HTTP
Java: Starten Sie WAS mit Docker und stellen Sie Ihre eigene Anwendung bereit
Verwenden Sie mit Rails6 Ihre eigene Klasse im lib-Verzeichnis
Microservices mit DevOps nehmen Änderungen vor
Erstellen Sie Ihre eigenen Java-Anmerkungen
Optimieren Sie Ihre Anfrage mit EXPLAIN
Erstellen Sie in Docker Ihre eigene Tastatur-QMK. Für Windows einzigartiges Volume
So erstellen Sie mit Spring Boot einen eigenen Controller, der / error entspricht
Verwenden Sie Heroku × Rails, um mit Rack-Rewrite zu Ihrer eigenen Domain umzuleiten