使用OCR来帮助LR实现认证码识别 By 云层
2014-04-28 15:04
513 查看
[p=30, 2, left]今天看到一个关于使用AUTOIT调用OCR的帖子,于是就又照猫画虎的转成LR专用了。原帖地址:http://www.51testing.com/index.php?uid-194902-action-viewspace-itemid-808450[/p][p=30,
2, left][/p][p=30, 2, left]原理很简单,用一个请求去刷新认证码返回页面,然后通过关联将返回的图片保存为硬盘的一个文件,然后用ocr去识别这个文件内容,保存结果到txt,最后用LR读这个文本就可以得到认证码。[/p][p=30,
2, left]当然很多时候识别不出来所以你要判断一下得出的结果是不是4位字符或数字,如果不是继续刷新,从请求角度来说应该效率很理想了。[/p][p=30,
2, left]
[/p][p=30, 2, left]这个写法可能来不及补在《性能测试进阶指南 Loadrunner11实践》书里面了,大家自己懂的。[/p][p=30,
2, left] [/p][p=30, 2, left]注:参数Num是一个随机数,目的是为了告诉js现在这个变了请刷新,所以是一个类似于时间戳的东西![/p][p=30,
2, left]*** Hidden to visitors ***[/p][p=30,
2, left]
[/p][p=30, 2, left]
CODE:
[p=30, 2, left]今天看到一个关于使用AUTOIT调用OCR的帖子,于是就又照猫画虎的转成LR专用了。原帖地址:http://www.51testing.com/index.php?uid-194902-action-viewspace-itemid-808450[/p][p=30,
2, left][/p][p=30, 2, left]原理很简单,用一个请求去刷新认证码返回页面,然后通过关联将返回的图片保存为硬盘的一个文件,然后用ocr去识别这个文件内容,保存结果到txt,最后用LR读这个文本就可以得到认证码。[/p][p=30,
2, left]当然很多时候识别不出来所以你要判断一下得出的结果是不是4位字符或数字,如果不是继续刷新,从请求角度来说应该效率很理想了。[/p][p=30,
2, left]
[/p][p=30, 2, left]这个写法可能来不及补在《性能测试进阶指南 Loadrunner11实践》书里面了,大家自己懂的。[/p][p=30,
2, left] [/p][p=30, 2, left]注:参数Num是一个随机数,目的是为了告诉js现在这个变了请刷新,所以是一个类似于时间戳的东西![/p][p=30,
2, left]*** Hidden to visitors ***[/p][p=30,
2, left]
[/p][p=30, 2, left]
CODE:
Action() { int flen; //定义一个整型变量保存获得文件的大小 long filedes; //保存文件句柄 char file[256]="c:\\test1.jpg"; //保存文件路径及文件名 char result[4]; web_set_max_html_param_len("2000000");//设置页面接收最大的字节数,该设置应大于下载文件的大小 web_reg_save_param("pic", "LB=", "RB=", "Ord=1", "Search=Body", LAST); web_url("randpiccloud","URL=http://comment8.mydrivers.com/radompage.aspx?0.{rnum}",LAST); flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE); //获得文件大小 if(flen > 0) { if((filedes = fopen(file, "wb")) == NULL) { lr_output_message("oh cloud your Open File Failed!"); return -1; } fwrite( lr_eval_string("{pic}"),flen,1,filedes ); fclose( filedes ); } system("c:\test.bat"); if((filedes = fopen("c:\\test.txt", "rt")) == NULL) { lr_output_message("oh,cloud your Open File Failed!"); return -1; } fread( result,4,1,filedes); fclose( filedes ); lr_output_message(result); return 0; }[地址:http://www.51testing.com/?uid-104-action-viewspace-itemid-808584
相关文章推荐
- "Pure Virtual Function Called": An Explanation
- 算法基础——1.5一刀切法
- Nginx 转发给 tomcat
- Timus 2002. Test Task 一个登陆系统
- sdut2408 pick apples (贪心+背包)山东省第三届ACM省赛
- phoneGap 安装
- Android 网络编程
- WinXP系统开机自动注销使用安全模式也不行怎么办
- websphere出现sun.io.MalformedInputException
- 一些常用到的库记录
- TDD:simply mocking a class is not necessarily the best practice
- 用Delphi将数据导入到Excel并控制Excel
- 连接数据库修改篇
- Spring源码学习
- 新版谷歌地图的好处和优点
- Qt: 释放窗口资源
- Android推送解决方案分析-一共介绍6个
- linux设备模型bus,device,driver
- SpringMvc showcase -- Mapping Controller
- C/C++ linux下光标定位和清屏函数(printf 实现)