51Testing软件测试论坛
标题: 使用OCR来帮助LR实现认证码识别 By 云层 [打印本页]
作者: 云层 时间: 2012-3-1 16:40
标题: 使用OCR来帮助LR实现认证码识别 By 云层
本帖最后由 云层 于 2012-3-1 16:43 编辑
今天看到一个关于使用AUTOIT调用OCR的帖子,于是就又照猫画虎的转成LR专用了。原帖地址:http://www.51testing.com/index.php?uid-194902-action-viewspace-itemid-808450
原理很简单,用一个请求去刷新认证码返回页面,然后通过关联将返回的图片保存为硬盘的一个文件,然后用ocr去识别这个文件内容,保存结果到txt,最后用LR读这个文本就可以得到认证码。
当然很多时候识别不出来所以你要判断一下得出的结果是不是4位字符或数字,如果不是继续刷新,从请求角度来说应该效率很理想了。
这个写法可能来不及补在《性能测试进阶指南 Loadrunner11实践》书里面了,大家自己懂的。
注:参数Num是一个随机数,目的是为了告诉js现在这个变了请刷新,所以是一个类似于时间戳的东西!
- 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;
- }
复制代码
作者: bluetearxie 时间: 2012-3-1 17:09
做个记号慢慢看~~~~~~~~谢谢云老大
作者: liyan20090622 时间: 2012-3-1 17:12
好的 学习了
作者: lyc2010 时间: 2012-3-1 17:20
收藏了,支持一下!
作者: tangjwtj 时间: 2012-3-1 17:24
先标记一下吧, 暂时没有这方面 的需要。
作者: yuehun168 时间: 2012-3-1 17:39
回帖,看一下隐藏内容……学习了!
作者: bounty 时间: 2012-3-1 17:55
做个标记
作者: lp7wshishui 时间: 2012-3-1 19:11
标记
作者: fiskeryang 时间: 2012-3-1 22:56
标记
作者: 黑羽祭 时间: 2012-3-2 09:04
支持~~~~
作者: 963999727 时间: 2012-3-2 09:19
作者: wsbuaa 时间: 2012-3-2 10:23
简单的字符和数字和验证码现在已经很少见了
我们这里用的都是“X+X=?”这样的算术形式
作者: liucode 时间: 2012-3-2 10:24
谢谢分享!
作者: mymagic 时间: 2012-3-2 10:49
学习学习
作者: 云层 时间: 2012-3-2 12:08
算数是文本,其实更好做!
作者: wang001 时间: 2012-3-2 15:30
作者: wbcn 时间: 2012-3-2 20:14
学习!
作者: wbcn 时间: 2012-3-2 20:14
学习!
作者: iiargeth 时间: 2012-3-3 23:26
老师。。。驱家的那个验证码真能ocr出来?
作者: edisonzhang 时间: 2012-3-4 13:08
学习下
作者: 草鱼 时间: 2012-3-4 20:57
先看看
作者: giftboys 时间: 2012-3-4 22:21
回复 1# 云层
作者: shihw11 时间: 2012-3-5 09:15
看看撒
作者: whcmyx 时间: 2012-3-5 11:50
顶下~~
作者: maquan321 时间: 2012-3-5 11:57
先收藏下来再说
作者: edisonzhang 时间: 2012-3-5 12:19
我周末试了下,很遗憾 没有识别出来
作者: hankliu520 时间: 2012-3-5 14:29
好文
作者: 950vip 时间: 2012-3-5 15:34
这个工具不知道识别效率如何 加了模糊处理的貌似就不行了吧
作者: iori 时间: 2012-3-5 16:29
主要还是识别率的问题
作者: lonnieyuan 时间: 2012-3-5 17:45
这个太棒了,学习
作者: xiaoxiaogt 时间: 2012-3-6 08:47
回复 1# 云层
研究研究
作者: teamo1988 时间: 2012-3-6 10:13
学习
作者: pl80601983 时间: 2012-3-6 10:27
学习并收藏了,感觉真正的工程师是集开发测试于一体的,开发与测试相互成就对方,学习了。
作者: hoozheng 时间: 2012-3-6 13:00
太好了
作者: durbey_712 时间: 2012-3-6 15:44
这个倒是不错的方式,支持
作者: qileilove 时间: 2012-3-6 17:36
geilisddddddddddd
作者: gdavid 时间: 2012-3-7 16:20
必须定~
作者: 战上游 时间: 2012-3-8 09:25
mark
作者: hailong0709 时间: 2012-3-8 11:03
学习
作者: wpz516 时间: 2012-3-8 11:26
好!!!!!!!!!!学习了!!!!!!!!!!!!!!!!!!
作者: liangjinyu8886 时间: 2012-3-8 11:50
支持一下!
作者: liangjinyu8886 时间: 2012-3-8 11:50
支持一下!
作者: liangjinyu8886 时间: 2012-3-8 11:51
支持一下!
作者: liangjinyu8886 时间: 2012-3-8 11:51
支持一下!谢谢,顶
作者: liangjinyu8886 时间: 2012-3-8 11:51
支持一下!谢谢,顶
作者: liangjinyu8886 时间: 2012-3-8 11:51
回复 1# 云层
作者: liangjinyu8886 时间: 2012-3-8 11:52
回复 1# 云层
谢谢分享!
作者: liangjinyu8886 时间: 2012-3-8 11:52
回复 1# 云层
谢谢分享!
作者: ww7446844 时间: 2012-3-9 11:36
学习
作者: wanglha 时间: 2012-3-9 13:11
学习
作者: 丰肚翩翩 时间: 2012-3-9 14:41
看看这个ocr怎么用
作者: blue40131 时间: 2012-3-9 16:39
学习了
作者: ilove51 时间: 2012-3-9 21:39
谢谢分享!
学习了
作者: testlmh 时间: 2012-3-10 10:44
学习
作者: zhaoshenzhou 时间: 2012-3-12 08:55
厉害!
作者: wwwanghl 时间: 2012-3-12 10:44
做个标记,学习下
作者: shiminhaha 时间: 2012-3-12 12:28
学习了
作者: burenshi 时间: 2012-3-13 09:51
先马克
作者: cuixiaoyan1020 时间: 2012-3-13 14:47
学习呀!
作者: pipishi 时间: 2012-3-13 15:02
支持
识别验证码是个经常遇到的问题
作者: kentnyg 时间: 2012-3-14 13:18
算是一个比较好的例子
作者: BrandWang 时间: 2012-3-27 11:44
回复 1# 云层
广告很成功
作者: pangda 时间: 2012-3-30 11:15
标记上
作者: ch_hailiang 时间: 2012-3-30 17:15
一般遇到校验码,做了万能码,学习了
作者: 520199041 时间: 2012-3-30 17:43
我也来学习下
作者: Boring_Days 时间: 2012-3-30 23:57
真是厉害呢,不过很多OCR的识别率都不怎么样
作者: Boring_Days 时间: 2012-3-30 23:57
本帖最后由 Boring_Days 于 2012-3-30 23:58 编辑
重复……
作者: Boring_Days 时间: 2012-3-30 23:57
重复……
作者: qvbfnsc 时间: 2012-3-31 09:50
回帖,看一下隐藏内容
作者: 狮王之盾 时间: 2012-3-31 10:56
看看
作者: ycg300164 时间: 2012-3-31 11:10
好棒!
作者: ycg300164 时间: 2012-3-31 12:08
云层老师,新书什么时候上市呀?
作者: xuxiagood 时间: 2012-4-5 16:23
作者: terrywu 时间: 2012-4-6 17:09
学习学习
作者: terrywu 时间: 2012-4-6 17:10
学习学习
作者: shx711 时间: 2012-4-18 21:23
ddddddddddddddd
作者: testcl 时间: 2012-4-18 21:54
占位
作者: qiqiloveyunyun 时间: 2012-4-20 14:02
谢谢分享!
作者: qiqiloveyunyun 时间: 2012-4-20 14:03
谢谢分享!
作者: newhackerman 时间: 2012-4-20 14:25
很好很强大
作者: saharaqs 时间: 2012-4-20 18:43
作者: 330254601 时间: 2012-4-21 09:41
看看
作者: simusandian 时间: 2012-4-21 10:01
huifu
作者: TEST_HUAN 时间: 2012-4-28 15:54
这个很需要
作者: caizhudiren 时间: 2012-4-28 16:37
UP
作者: long2041605 时间: 2012-5-2 11:39
支持下
作者: Donly 时间: 2012-5-4 17:58
作者: metoto 时间: 2012-5-5 10:27
还没看明白,回帖完接着看
作者: metoto 时间: 2012-5-5 11:39
用了下,真不太给力啊。。。作为一种思路还可以,真拿来实际使用就不行了。。
作者: goodhal 时间: 2012-5-5 19:54
谢谢
作者: joshua83 时间: 2012-5-5 22:12
awer
作者: james.zhong 时间: 2012-5-5 23:56
学习学习
作者: areca82 时间: 2012-5-7 11:35
继续拜读~~~
作者: fetch 时间: 2012-5-9 11:12
不错
作者: luozhuwang123 时间: 2012-5-9 11:45
云层兄,可以帮忙看一下这个问题吗?如何解决,在求助栏,没有人来帮忙看啊
设置了集合点,用control跑出来,结果提示运行成功,但是添加的数据有问题
http://bbs.51testing.com/thread-556141-1-1.html
作者: jj_ljw 时间: 2012-5-9 11:57
这个得顶,真是牛人
作者: Peyton 时间: 2012-5-9 12:26
顶!
作者: zhuangzq 时间: 2012-5-10 11:22
顶
作者: cnw_liuyong 时间: 2012-5-15 09:45
作者: wolf1019 时间: 2012-5-15 10:02
下次试试 正常情况下 都是请开发人员屏蔽验证码输入框
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) |
Powered by Discuz! X3.2 |