CN109376524A - 自动识别远程机器上的图片验证码的方法 - Google Patents

自动识别远程机器上的图片验证码的方法 Download PDF

Info

Publication number
CN109376524A
CN109376524A CN201811147363.2A CN201811147363A CN109376524A CN 109376524 A CN109376524 A CN 109376524A CN 201811147363 A CN201811147363 A CN 201811147363A CN 109376524 A CN109376524 A CN 109376524A
Authority
CN
China
Prior art keywords
request
remote server
identifying code
machine
browser
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811147363.2A
Other languages
English (en)
Inventor
黄建刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Wanpeng Education Technology Co Ltd
Original Assignee
Zhejiang Wanpeng Education Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Wanpeng Education Technology Co Ltd filed Critical Zhejiang Wanpeng Education Technology Co Ltd
Priority to CN201811147363.2A priority Critical patent/CN109376524A/zh
Publication of CN109376524A publication Critical patent/CN109376524A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种自动识别远程机器上的图片验证码的方法。本发明步骤如下:步骤1、本地PC机向远程机发送打开浏览器登录界面请求R0;步骤2、远程服务器接收到获取打开浏览器登录的请求R0后,打开浏览器并访问指定的网站地址U0;步骤3、通过脚本对U0上的验证码特定区域进行截图,并保存到远程服务器的指定目录下,文件命名F0;步骤4、使用Google提供的OCR库,对F0进行识别并转化成字符S0。对S0使用filter过滤器初步筛选数字字符,并保存成新的字符串S1。计算S1的长度L1,如果发现L1不等于期望验证码长度L0,则重新发送登录请求,回到步骤1。如果L1等于L0,远程服务器将S1发送到指定WEB网页的验证码输入框,进行登录校验。本发明简单实用。

Description

自动识别远程机器上的图片验证码的方法
技术领域
本发明属于计算机自动化测试领域,具体来说是一种解决测试过程远程机器上验证码如何自动识别的方法。
背景技术
自动化测试已经越来越流行,选择的框架也很多,但是无论什么框架,都会遇到一个问题:测试过程中出现的验证码如何解决?目前主要的解决方法有3种:1、直接去掉验证码;2、设置白名单;3、编码自己识别。前面2种方法,可以很好的解决问题,但是存在2个问题:1、研发是否会配合你修改业务逻辑;2、如果研发帮忙改了,那么意味着接下来的测试覆盖的部分业务逻辑也跟着变了,自动化测试不能代表真正意义上的用户行为。方法3不存在上述问题,且完全符合正式环境中用户的操作行为,因此是最合适的。
在自动识别验证码的技术上,已经有了比较成熟的工具,例如:Tesseract。它是一个OCR(光学字符识别)库,目前由Google赞助,是目前公认最优秀、最精确的开源OCR系统。它可以通过训练识别出任何字体,也可以识别出任何Unicode字符。有了它,关键性技术问题已经解决。接下来可以大胆的进行自动化测试编码。
通常情况下,编写一个简单的自动化脚本,在自己的机器上运行,还是比较简单的。但如果仅仅自己为了可以实现自动化而做自动化测试,那样的意义并不大。总所周知,自动化前期需要投入大量的脚本开发工作,如果自己为了在自己的机器上运行下,为何还需要自动化,手工点点,岂不是更加高效?确实,这样很难发挥自动化的优势。自动化脚本必须实现:一次编码,多次执行,执行的占比越高,自动化的意义越大。当然,不仅仅是在同一个环境下反复执行,要让脚本运行在不同的环境上,包括:不同的浏览器、不同的操作系统。最好能够实现,启动一次脚本运行,就可以同时把需要覆盖到的操作系统、浏览器都执行一遍。这样,不同环境下的兼容性测试工作目标也实现了。
在实际的编码调试过程,发现本地脚本请求远程主机截屏方法时,截屏截取的始终是本地电脑的屏幕,并不能截取远程电脑屏幕,也就识别不到验证码了。通过修改截屏驱动,但也只能截取远程电脑的全屏,不能固定区域,如果再进行图片编辑工作,想必会比较复杂。
发明内容
本发明从简单实用的角度出发,通过将本地截屏的方法独立成一个py文件拷贝到远程机器上,需要识别验证码的时候,再通过脚本调用远程电脑上截屏文件进行截屏,保存时将图片保存到固定目录下,最后调用图片转验证码的方法将图片转换成字符串。
步骤1、本地PC机向远程机发送打开浏览器登录界面请求R0;
步骤2、远程服务器接收到获取打开浏览器登录的请求R0后,打开浏览器并访问指定的网站地址U0,
步骤3、通过脚本对U0上的验证码特定区域进行截图,并保存到远程服务器的指定目录下,文件命名F0;
步骤4、使用Google提供的OCR库,对F0进行识别并转化成字符S0。对S0使用filter过滤器初步筛选数字字符,并保存成新的字符串S1。计算S1的长度L1,如果发现L1不等于期望验证码长度L0,则重新发送登录请求,回到步骤1。如果L1等于L0,远程服务器将S1发送到指定WEB网页的验证码输入框,进行登录校验。
所述的校验过程如下:
明确一个登录成功后的页面元素S0,检查点击登录后页面上是否存在S0:如果有,则表示校验通过,可以进行后续操作;否则跳转到步骤1,发起新的获取验证码的请求,直到校验通过。
本发明有益效果如下:
通过该发明,解决了远程服务器不能识别验证码问题后,可以实现远程服务器上用户登录等操作,增强了自动化测试覆盖的业务范围。本地一次性启动自动化测试脚本,控制多台服务器上不同的浏览器操作,实现了不同操作系统,不同浏览器的兼容性自动化测试。从而提升了测试覆盖率,从整体上降低了人力成本。
具体实施方式
下面结合实施例对本发明作进一步说明。
自动识别远程机器上的图片验证码的方法,具体实现步骤如下:
步骤1、本地PC机向远程机发送打开浏览器登录界面请求R0;
步骤2、远程服务器接收到获取打开浏览器登录的请求R0后,打开浏览器并访问指定的网站地址U0,
步骤3、通过脚本对U0上的验证码特定区域进行截图,并保存到远程服务器的指定目录下,文件命名F0;
步骤4、使用Google提供的OCR库,对F0进行识别并转化成字符S0。对S0使用filter过滤器初步筛选数字字符,并保存成新的字符串S1。计算S1的长度L1,如果发现L1不等于期望验证码长度L0,则重新发送登录请求,回到步骤1。如果L1等于L0,远程服务器将S1发送到指定WEB网页的验证码输入框,进行登录校验。
所述的校验过程如下:
明确一个登录成功后的页面元素S0,检查点击登录后页面上是否存在S0:如果有,则表示校验通过,可以进行后续操作;否则跳转到步骤1,发起新的获取验证码的请求,直到校验通过。
本发明从简单实用的角度出发,通过将本地截屏的方法独立成一个py文件拷贝到远程机器上,需要识别验证码的时候,再通过脚本调用远程电脑上截屏文件进行截屏,保存时将图片保存到固定目录下,最后调用图片转验证码的方法将图片转换成字符串。

Claims (1)

1.自动识别远程机器上的图片验证码的方法,其特征在于包括如下实现步骤:
步骤1、本地PC机向远程机发送打开浏览器登录界面请求R0;
步骤2、远程服务器接收到获取打开浏览器登录的请求R0后,打开浏览器并访问指定的网站地址U0,
步骤3、通过脚本对U0上的验证码特定区域进行截图,并保存到远程服务器的指定目录下,文件命名F0;
步骤4、使用Google提供的OCR库,对F0进行识别并转化成字符S0;对S0使用filter过滤器初步筛选数字字符,并保存成新的字符串S1;计算S1的长度L1,如果发现L1不等于期望验证码长度L0,则重新发送登录请求,回到步骤1;如果L1等于L0,远程服务器将S1发送到指定WEB网页的验证码输入框,进行登录校验;
所述的校验过程:
明确一个登录成功后的页面元素S0,检查点击登录后页面上是否存在S0:如果有,则表示校验通过,可以进行后续操作;否则跳转到步骤1,发起新的获取验证码的请求,直到校验通过。
CN201811147363.2A 2018-09-29 2018-09-29 自动识别远程机器上的图片验证码的方法 Pending CN109376524A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811147363.2A CN109376524A (zh) 2018-09-29 2018-09-29 自动识别远程机器上的图片验证码的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811147363.2A CN109376524A (zh) 2018-09-29 2018-09-29 自动识别远程机器上的图片验证码的方法

Publications (1)

Publication Number Publication Date
CN109376524A true CN109376524A (zh) 2019-02-22

Family

ID=65402592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811147363.2A Pending CN109376524A (zh) 2018-09-29 2018-09-29 自动识别远程机器上的图片验证码的方法

Country Status (1)

Country Link
CN (1) CN109376524A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011122624A1 (ja) * 2010-03-29 2011-10-06 楽天株式会社 認証サーバ装置、認証サーバ装置用プログラム及び認証方法
CN102946334A (zh) * 2012-11-28 2013-02-27 中国移动(深圳)有限公司 一种获取有效图像验证码的方法和系统
CN105681344A (zh) * 2016-03-11 2016-06-15 广东亿迅科技有限公司 一种验证码识别系统及方法
CN106897357A (zh) * 2017-01-04 2017-06-27 北京京拍档科技股份有限公司 一种用于带验证分布式智能爬取网络信息的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011122624A1 (ja) * 2010-03-29 2011-10-06 楽天株式会社 認証サーバ装置、認証サーバ装置用プログラム及び認証方法
CN102946334A (zh) * 2012-11-28 2013-02-27 中国移动(深圳)有限公司 一种获取有效图像验证码的方法和系统
CN105681344A (zh) * 2016-03-11 2016-06-15 广东亿迅科技有限公司 一种验证码识别系统及方法
CN106897357A (zh) * 2017-01-04 2017-06-27 北京京拍档科技股份有限公司 一种用于带验证分布式智能爬取网络信息的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
岳庆生: "《版主答疑——DelDhi高级编程技巧》", 4 January 2000 *

Similar Documents

Publication Publication Date Title
US20230004481A1 (en) Automated application testing system
CN107102947B (zh) Atm交易流程测试装置及方法
CN105760286A (zh) 应用数据库动态性能检测方法及检测装置
CN110955589A (zh) 基于浏览器的无头模式的测试方法、系统、设备及介质
CN103729294A (zh) 应用软件性能脚本测试方法与装置
CN112540924A (zh) 接口自动化测试方法、装置、设备及存储介质
CN110297771A (zh) 用于仓单页面的分布式测试方法及装置
CN112231206A (zh) 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台
CN115658529A (zh) 用户页面的自动化测试方法以及相关设备
CN112817853A (zh) 一种自动测试方法、系统和电子设备
CN107844486B (zh) 一种用于客户端的分析网页问题的方法和系统
CN107832176A (zh) 一种Windows下硬盘压力自动测试方法及系统
US9069897B2 (en) Capturing telemetry data by dynamic language engine
CN115514677B (zh) 服务器拨测方法及系统
CN110134558B (zh) 一种服务器的检测方法和装置
CN112084108A (zh) 一种测试脚本生成方法、装置及相关组件
CN116383025A (zh) 基于Jmeter的性能测试方法、装置、设备及介质
CN109376524A (zh) 自动识别远程机器上的图片验证码的方法
CN116298340A (zh) 基于任务调度的产品缺陷检测方法及系统
CN115934559A (zh) 表单智能测试系统的测试方法
CN110795330A (zh) 一种Monkey压力测试的方法和装置
CN110569198A (zh) 一种业务功能自动化测试方法及装置
CN111782557B (zh) 一种web应用权限的测试方法及其系统
CN113986263A (zh) 代码自动化测试方法、装置、电子设备、存储介质
CN113127884A (zh) 一种基于虚拟化的漏洞并行验证方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 12 / F, building 8, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Applicant after: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK CO.,LTD.

Address before: Room 1406, Hangzhou e-commerce building, 118 Wensan West Road, Xihu District, Hangzhou City, Zhejiang Province, 310013

Applicant before: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK CO.,LTD.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20190222

RJ01 Rejection of invention patent application after publication