TA的每日心情 | 无聊 昨天 09:05 |
---|
签到天数: 1050 天 连续签到: 1 天 [LV.10]测试总司令
|
1.下载test4j
https://sourceforge.net/projects/tess4j/
2.修改[url=]Jmeter[/url]外部依赖文件夹
(1)修改D:\Applications\apache-jmeter-5.4.1-3\bin目录下jmeter.properties文件
plugin_dependency_paths=../dependencies/lib;
(2)test4j压缩包解压,进行以下操作:
①将XXXX\Tess4J\lib目录下所有所有文件复制到D:\Applications\apache-jmeter-5.4.1-3\dependencies\lib目录下;
②将XXXX\Tess4J\dist目录下所有文件复制到D:\Applications\apache-jmeter-5.4.1-3\dependencies\lib目录下。
3.编写Jmeter及脚本
(1)创建线程组
(2)添加变量
(3)添加cookie
(4)添加获取验证码请求并识别验证码
①添加获取验证码请求
②添加查看结果树并运行查看请求结果
③添加BeanShellPostProcessor,并编写脚本识别验证码图片内容
需确认保存验证码的目录存在
importjava.io.*;
importnet.sourceforge.tess4j.ITesseract;
importnet.sourceforge.tess4j.Tesseract;
importjava.text.SimpleDateFormat;
importjava.util.Date;
//设置日期格式,如2022-05-17-12-08-11-548
SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-dd-HH-mm-ss-SSS");
//将验证码保存到本地文件中
StringimgPath="D:/captcha/"+df.format(newDate())+"-captcha.jpg";
byte[]responseBody=prev.getResponseData();
FileimageFile=newFile(imgPath);
OutputStreamout=newFileOutputStream(imageFile);
out.write(responseBody);
out.flush();
out.close();
//读取图片数字
FileimageFile1=newFile(imgPath);
ITesseractinstance=newTesseract();
//Tess4j解压文件里的tessdata目录下
instance.setDatapath("D:/__Download/GoogleDownload/Tess4J/tessdata");
//英文库识别数字比较准确
instance.setLanguage("eng");
captcha=instance.doOCR(imageFile1).replace("\n","");
log.info("thiscaptchais:"+captcha);
vars.put("captcha",captcha);
④验证识别的结果是否正确
⑤添加登录请求
认真核对每一项值
⑥添加线程组的查看结果树
⑦选择中线程组查看结果树,运行并查看结果
|
|