本篇內(nèi)容主要講解“Jmeter測試上傳圖片base64編碼接口的方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Jmeter測試上傳圖片base64編碼接口的方法是什么”吧!
目前創(chuàng)新互聯(lián)建站已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、閔行網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
最近遇到一個項目,接口中有需要上傳圖片的字段,它是以圖片base64編碼格式的形式傳遞的。(Base64目前主要用于HTML5、移動開發(fā)等不考慮IE6的場景中。)請求報文示例如下:
1)如何對圖片進(jìn)行編碼?
2)為了實現(xiàn)接口自動化測試,如何能實現(xiàn)自動base64編碼
解決方案:
方法1:利用圖片在線轉(zhuǎn)碼base64編碼網(wǎng)站進(jìn)行編碼。
編碼網(wǎng)站:http://tool.css-js.com/base64.html
上傳本地圖片,根據(jù)需要勾選:“包含頭”等選項,生成圖片base64編碼即可。
缺點:測試不同的圖片時,都需要手工進(jìn)行編碼,再復(fù)制編碼到接口請求報文中,無法實現(xiàn)自動化,測試效率低。
方法2:利用Jmeter的beanshell編寫圖片base64編碼的轉(zhuǎn)換代碼
1)編寫圖片base64編碼代碼
一般情況,開發(fā)會提供該代碼;如果沒有,也不用怕,百度一下即可,或者有代碼功底的同學(xué)可自己寫。部分代碼如下:
2)生成jar包,放置在${JMETER_HOME}\lib\ext目錄下
3)編寫beanshell,調(diào)用編碼方法進(jìn)行編碼
4)參數(shù)化請求報文
實際請求報文:
此方法較好的解決了手工圖片base64編碼的問題,為后續(xù)的自動化測試提供支持。
擴展一下:如果上傳圖片不是以base64編碼的格式,即以圖片文件的方式進(jìn)行發(fā)送請求報文時,該如何處理?
解決方案:利用jmeter的sampler中“同請求一起發(fā)送文件”的功能
a、點擊【同請求一起發(fā)送文件】欄目的添加按鈕;
b、點擊瀏覽按鈕,選擇一張需要上傳的圖片,地址將會自動記錄到文件名稱欄目;
c、填寫參數(shù)名稱,此處為【image】;
d、MIME類型為multipart/form-data
(注意:另外一種設(shè)置就是>為了上傳文件,還必須勾選"Use multipart/form-data for POST",然后MIME類型可根據(jù)實際情況填寫,否則request將不包含上傳的文件。)
保存該HTTP請求,并執(zhí)行,查看服務(wù)器,即可發(fā)現(xiàn),上面步驟選擇的圖片已經(jīng)成功上傳到服務(wù)器。如需進(jìn)行圖片參數(shù)化,只需對圖片的路徑進(jìn)行參數(shù)化即可。
到此,相信大家對“Jmeter測試上傳圖片base64編碼接口的方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!