Ich erstelle benutzerdefinierte Sampler für JMeter. Ich bin in der Lage, meinen jar in die Bibliothek zu importieren, der Sampler ist in der GUI sichtbar, aber die Felder werden nicht richtig angezeigt.Jmeter Sampler sieht keine Ressourcen-Datei
Hier ist mein Code.
Custom.java
public class Custom extends AbstractSampler implements TestBean {
private String email = "";
public Custom() {
super();
}
public SampleResult sample(Entry entry) {
SampleResult res = new SampleResult();
res.setSampleLabel(getName());
res.setResponseData(("Hello " + getEmail()).getBytes());
res.setSuccessful(Boolean.TRUE);
return res;
}
public void setEmail(String email){ this.email = email; }
public String getEmail(){ return email; }
}
CustomBeanInfo.java
public class CustomBeanInfo extends BeanInfoSupport {
protected CustomBeanInfo() {
super(Custom.class);
createPropertyGroup("contact", new String[]{
"email"
});
PropertyDescriptor p = property("email");
p.setValue(NOT_UNDEFINED, Boolean.TRUE);
p.setValue(DEFAULT, "asd");
}
}
CustomResources.properties
displayName=Custom Sampler
email.displayName=Email Address
email.shortDescription=User Email Address
contact.displayName=Contact
Und das ist, wie es in JMeter GUI aussieht. Meine Vermutung ist, dass die Eigenschaftendatei nicht korrekt an den Sampler angehängt ist oder der Konstruktor nicht ausgeführt wird.
EDIT 1: hinzugefügt pom.xml Dateiinhalt
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.jmeter</groupId>
<artifactId>custom-sampler</artifactId>
<version>0.2.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>2.10</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>
EDIT 2: Bei Verwendung von Probenehmer (Hinzufügen es Gruppe Gewinde) folgende Fehler im Protokoll angezeigt wird
2016/03/25 09:28:23 WARN - jmeter.testbeans.gui.GenericTestBeanCustomizer: org.apache.jmeter.protocol.java.sampler.Custom#email(java.lang.String) does not appear to have been configured
Brauchen Sie wirklich Bohnen/Ressourcen? Im Allgemeinen müssen Sie sie nicht haben: Wenn Sie jmeter-plugins.org oder sogar JMeters eigene Sampler betrachten, verwenden die meisten keine Beans und Ressourcen. –