2017-09-06 2 views
0

Ich habe den TCP-Sampler eingerichtet, um XML-Daten zu übergeben und die Rückgabe zu überprüfen.Jmeter 500 Fehler in TCP

Ich habe die richtige IP-Adresse, die Portnummer ist korrekt und die Daten sind bereit.

Allerdings habe ich konsequent diesen Fehler:

Thread Name: BasicCheck 1-1 
Sample Start: 2017-09-06 00:12:59 UTC 
Load time: 3520 
Connect Time: 1 
Latency: 0 
Size in bytes: 0 
Sent bytes:0 
Headers size in bytes: 0 
Body size in bytes: 0 
Sample Count: 1 
Error Count: 1 
Data type ("text"|"bin"|""): text 
Response code: 500 
Response message: org.apache.jmeter.protocol.tcp.sampler.ReadException: Error reading from server, bytes read: 0 

Response-Header:

SampleResult fields: 
ContentType: 
DataEncoding: windows-1252 

Ich weiß, dass der Server und Betrieb ist, habe ich den Benutzernamen und das Passwort in den TCP-Sampler Standorten in Jmesser. Ich weiß einfach nicht, warum ich diesen Fehler bekomme.

Dies ist auf einer Windows-Maschine (offensichtlich) zu einem geraden TCP-Server.

+0

Haben Sie Schließen Kontrollkästchen Verbindung zu überprüfen versucht? – user7294900

+0

Die Verbindung muss offen bleiben, um nach dem ersten mehr Nachrichten zu senden. – Bill

Antwort

0

Sie müssen die folgenden Dinge zu tun, diese Arbeit zu machen:

  1. Im TCP-Sampler EOL Byte Wert machen = 10 Timeout (Millisekunden) für die Antwort eingeben Wert als 5000 oder 10000
  2. hinzufügen Benutzer definiert Variablen, die Sie als Text über TCP-Sampler senden möchten. Ex. Ich möchte den Text als $ {STX} 2017105557 | SAMPLEMESSAGE | Message2 $ {ETX} senden, damit STX und ETX meine benutzerdefinierten Variablen sind.
  3. Fügen Sie einen Bean-Shell-Preprozessor hinzu, um Werte in das ASCII-Format zu konvertieren.

Beispielcode:

[String STX = URLDecoder.decode(vars.get("STX"), "ASCII"); 
vars.put("STX",STX); 
String ETX = URLDecoder.decode(vars.get("ETX"), "ASCII"); 
vars.put("ETX",ETX);][1] 

Jmeter Script sollte wie folgt aussehen: TCP Sampler Jmeter script