2016-04-11 93 views
3

私は、次のスクリプトを使用してWebサービスをテストするためのJMeterにはBase64にファイルをエンコードしようとしています:JmeterのBase64への添付ファイルのエンコード方法は?

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

これは、プレーン/テキストファイルのため正常に動作し、正しく他のファイルタイプには使用できません。

他のファイルタイプではどのように動作させることができますか?

答えて

1

のJMeterは以下、 "Base64で" に変数を変換するための多くのポーションをされているエンコードいくつかのオプション

  1. ビーンシェルプリプロセッサ
  2. BeanShell PostProcessor
  3. BeanShellサンプラー。以下

Base64で

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

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

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

例に変数を変換する "前処理シェルビーン" で使用される "豆殻" コードである:Base64で前

:jdwqoeendwqqm12sdw

Base64後:amR3cW9lZW5kd3FxbTEyc2R3

Jmeterを使用して変換:

enter image description here

enter image description here

enter image description here BASE64サイトを使用して変換:

enter image description here

0

あなたの問題は、読んでいるときにテキストとしてバイナリファイルを検討しているという事実に由来します。ファイルを読み込むための

使用この:

そして、Base64で

のbyte配列
+0

私は次のことを試して動作しませんでした。 byte [] bytes = FileUtils.readFileToByteArray(新しいファイル(( "$ {filepath}")。getBytes())); vars.put( "file"、new String(Base64.encodeBase64(bytes))); – BlueStar

関連する問題