Jmeter實現驗證碼登錄


1.首先網上找各種解決方法,看看大神們都是怎樣搞定的驗證碼登錄的,別說,還真讓我找到了,一看大神17年發布的,不禁感嘆了下,大神就是大神啊!網上大神鏈接如下

https://www.cnblogs.com/qzsong0214/p/6907075.html

大家先看評論啊,大佬為了我們這群菜鳥也是用心良苦,生生沒貼源碼,苦了我們這些菜鳥,繼續往下翻你會看到有人貼了源碼,沒錯這個人就是我,最后還是要謝謝大佬提供的思路!

 

2.要准備的東西:Jmeter 大家應該都有,需要准備的其實就是下面這個東東,網址:https://sourceforge.net/projects/tess4j/,這個網址真的很不錯,建議大家收藏!

 

 

3.完事具備后,接下來我們要把tess4j里的jar包全扔到Jmeter的lib文件夾下,其實只需要幾個jar包就夠,但是時間有限,技術有限就不去找具體要那幾個,全扔過去省事,閉着眼睛扔就對了!

 

 

 

 

4.好了jar包搞定后,接下來就是錄制個驗證碼的請求,然后編寫BeanShell后置處理程序基本就可以了,聽起來很簡單,這其中的心酸,誰琢磨誰知道啊,誰讓我們菜呢。。。。。!

 源碼如下,在大神截圖的基礎下,我精簡了下,但是感覺就是很low

import java.io.*;
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;


String imgPath="D://yanzhengma.jpg";//將驗證碼保存到本地文件中
byte[] responseBody = prev.getResponseData();
File imageFile = new File(imgPath);
OutputStream out = new FileOutputStream(imageFile);
out.write(responseBody);
out.flush();
out.close();

File imageFile1 = new File(imgPath);//讀取圖片數字
ITesseract instance = new Tesseract();
instance.setDatapath("C:\\Users\\dfitc_lgx\\Desktop\\xiagao\\Tess4J\\tessdata"); //Tess4j 文件里的 tessdata 目錄下
instance.setLanguage("eng");//英文庫識別數字比較准確
content = instance.doOCR(imageFile1).replace("\n", "");
vars.put("aaaaaa",content);

5.最后一步,光說不練假把式,上實戰截圖,這里要加上Debug PostProcessor 查看驗證碼轉換后的結果

 

 

看到結果的這一刻,我感覺我又行了。。。。。。。。不一定每次都成功,大家最好自己給登錄請求加上斷言!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM