今天遇到一个问题,网银类动态图形密码输入框,如何使用QTP完成密码录入工作。
该密码框特点如下:
1、数字位置每次都会改变,所以无法通过低录解决。
2、只读。
3、后台加密处理,所以使用DOM对象的SetAttribute的直接使用value赋值的方式会导致密码错误。
每次点击都会对产生到服务器的请求,服务器根据点击顺序生成加密后的密码。
4、透明背景。
解决方法:
一、使用sikuli解决
用sikuli解决了,但还是感觉治标不治本
1、将图片中的0-9的每个按钮保存为单个识别的图片对象
2、根据传入的密码,在sikuli中进行图片识别并点击
3、将此sikuli脚本导出可执行文件并保存为批处理
4、用QTP中WSCript.shell调用批处理
(ps,因为图片透明背景的原因,sikuli再识别的时候会出现问题~)
二、获取后台加密算法,解析动态密码键盘,将密码转换用户实际密码为系统加密密码。
(待近期研究后补充)
转帖请注明来源,kalvin-景太蓝