2016-04-11 24 views
3

Ich versuche, eine Datei zu Base64 in Jmeter zu kodieren, zu testen, einen Web-Service mit dem folgende Skript: richtig für andere DateitypenWie kodiere ich einen Anhang zu Base64 in Jmeter?

String file = FileUtils.readFileToString(new File("${filepath}"), "UTF-8"); 
vars.put("file", new String(Base64.encodeBase64(file.getBytes("UTF-8")))); 

Dies funktioniert gut für plain/Text-Dateien und funktioniert nicht.

Wie könnte ich es für andere Dateitypen arbeiten lassen?

Antwort

1

Jmeter hat viele Tränke eine Variable "Base64" zu konvertieren, sind unten ein paar Optionen

  1. Bean Shell-Prozessor
  2. BeanShell Postprozessor
  3. BeanShell Sampler.

Unten ist der "bean shell" Code, der in "Bean pre Prozessor Shell" verwendet variable

import org.apache.commons.codec.binary.Base64; 

String emailIs= vars.get("session"); 

byte[] encryptedUid = Base64.encodeBase64(emailIs.getBytes()); 
vars.put("genStringValue",new String(encryptedUid)); 

Beispiel zu Base64 konvertieren:

Vor Base64:

jdwqoeendwqqm12sdw Nach Base64: amR3cW9lZW5kd3FxbTEyc2R3

Konvertiert mit Jmeter:

enter image description here

enter image description here

enter image description here base64-Stelle umgewandelt Verwendung:

enter image description here

0

Ihr Problem kommt von der Tatsache, dass Sie Binärdateien als Text betrachten, wenn Sie sie lesen, was falsch ist.

verwenden zum Lesen der Datei:

Dann in Base64 das Byte-Array kodieren

+0

habe ich versucht, die folgenden und hat nicht funktioniert. byte [] bytes = FileUtils.readFileToByteArray (neue Datei (("$ {filepath}"). GetBytes())); vars.put ("Datei", neuer String (Base64.encodeBase64 (Bytes))); – BlueStar

Verwandte Themen