Jmeter接口測試文件上傳(一):對上傳文件實現B64編碼

在接口測試的工作,我們時常需要對參數進行B64編碼。今天我們以聚合數據的“身份證OCR識別”接口,來實現對身份證圖片的B64編碼加密後傳遞。
用到的技術:外部jar包調用和BeanShell 預處理程序
1、添加外部jar包
我們需要用jar是JDK自帶的rt.jar,將rt.jar文件複製到“Jmeter\lib\ext”目錄下;
在這裏插入圖片描述
在測試計劃中添加該jar文件;
在這裏插入圖片描述
2、添加“BeanShell 預處理程序”
在“線程組”上添加“前置處理器”\“BeanShell 預處理程序”;
在這裏插入圖片描述
編寫beanshell腳本;

import java.io.*;
import sun.misc.BASE64Encoder;

public static String test()
{
	    // 待處理的圖片文件
        String img = "D:\\sfzz.jpg";
        InputStream i = null;
        byte[] data = null;
        // 讀取圖片文件字節數組
        try {
            i = new FileInputStream(img);
            data = new byte[i.available()];
            i.read(data);
            i.close();
        }
        catch (IOException e){
            e.printStackTrace();
        }
        // 對圖片文件字節數組進行Base64編碼
        String res =new sun.misc.BASE64Encoder().encode(data);
        //將加密後的圖片文件Base64編碼傳遞給B64file,B64file將作爲http請求被引用的參數
        vars.put("B64file",res);
}
test();

在這裏插入圖片描述

3、設置HTTP求請
根據“身份證OCR識別”接口的API要求(詳見:https://www.juhe.cn/docs/api/id/287),其中image的值爲剛纔beanshell中的定義的變量參數;
在這裏插入圖片描述
4、執行查看結果
通過“調試取樣器”我們可以直觀查看到身份證圖片的B64編碼值;
在這裏插入圖片描述
接口調用成功,成功的反饋了身份證上的文字信息。

在這裏插入圖片描述
如有描述不清楚,歡迎留言交流。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章