转自 晴子0214
经过两天的奋战,Jmeter识别验证码后,post用户名、密码和验证码的采集器终于初见效果,为了以后便于查阅,特记录一下。
一、环境准备
1)Jmeter的配置
2)tesseract-ocr的安装
二、在Jmeter中配置压力测试的线程
1)创建线程
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526115340122-1199220152.png)
2)新建获取验证码的采集器![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526115840138-488479873.png)
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526115840138-488479873.png)
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526120101654-338070787.png)
3)新建一个监听器
4)新建一个用户自定义变量,用于存解析出来的验证码值![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526130654138-1811963881.png)
新建一个存验证码值的变量regCode,为了便于判断是否已解析出验证码,设定一个默认值-1。
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526130521482-816299837.png)
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526130654138-1811963881.png)
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526131139513-825445397.png)
5)给获取验证码的采集器加一个后置处理器BeanShell PostProcessor,用于解析验证码的值,并将其存入上一步的用户变量中。
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526133103279-1667648705.png)
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526133138450-1705119239.png)
6)在采集器上新建一个后置处理器Debug PostProcessor,便于调试
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526133623279-648961339.png)
7)验证之前的设置是否正确,启动Jmeter的压力测试,在查看结果树的菜单下,可以看到运行的结果。注意:我用的这个验证码,背景有干扰,所以识别出来的验证码有偏差,理应对存在本地的图片做一下降噪处理的,这留着以后研究吧。![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526134010107-887436274.png)
8)新建一个CVS Data Set Config 存用户名、密码
9)新建一个Cookie管理器,用于做session保持(验证码是存在session里的,不做保持的话,post登录信息时会重新生成验证码存在session里的)
10)新建一个登录采集器 其中用户名和密码,都用CVS中读取的u和p
11)在登录采集器下面加一个察看结果树,用于察看登录结果
12)为了更直观的查看登录结果,可以在登录采集器下加个断言
13)基本设置完成,运行就可以看到效果了
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526134010107-887436274.png)
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526134030700-1168033470.png)
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526140046700-2099824972.png)
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526140156763-1094865307.png)
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526140337732-87826422.png)
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526140621872-1975726165.png)
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526140751357-1269244343.png)
![](https://images2015.cnblogs.com/blog/1171885/201705/1171885-20170526140844388-1550016763.png)