Qtp中,一般录制的脚本进行回放的时候就会遇到各种各样的问题,导致回放不能顺利进行,比如这次我在录制一个简单的登陆脚本的时候,就遇到了这样的问题:

[遇到问题]

1,  录制好的脚本中的密码不能正常输入。

2,  验证码由于每次都会变化怎么输入?

[解决办法]

  • 对于第一个问题,大家在网上看看,解决的办法有很多种,大致分为以下几种:

1,  如果你录制好的脚本是这样的:WebEdit("***").SetSecure "加密以后的字符串",这种密码加密方式,如果你想改为明文,很好改正,改为WebEdit("***").Set "明文密码",就可以解决。

2,  如果你的密码控件支持Type方法还可以改为WebEdit("***").Type "明文密码"。

3,  有时你如果没有录制,你怎么知道你的密码在qtp中加密以后的密文是多少?所以想用SetSecure "加密以后的字符串"就有困难了。这里提供一个办法,如果你的密码是mercury,那么你可以直接写代码那么Crypt.Encrypt("mercury") 可以得到一个值 "464d059be45f8d524b913574b017ed492a8b8d4b"这就是你加密以后的密文了。

4,  还有一种可以使用sendkeys方法来进行,sendkeys专门是用来输入不能识别的特殊控件的。

  • 对于第二个问题,方法也只有两个:

1,  让开发人员设计一个万能的验证码

2,  跳过验证码的输入

为什么这样建议,因为你想想,验证码的作用是什么,就是为了防止无休止的输入也就是为了防止破解和注水,所以要用什么别的技术去验证验证码的话,还是有点费时。当然也有解决办法,读者可以自己去看看:http://blog.163.com/lj_yyx/blog/static/6593781020098168415022/

 [注意事项]

非常不幸,上面的几种方法都没有解决掉我的问题,最后,我在使用了很多种方法还是没有解决掉之后,我去请教了开发人员。然后他们说密码输入是用特殊的控件控制的,不能用自动化测试进行输入,目的也就是为了防止注水和破解,一般如果要进行自动化测试的话,就只能将这段代码注销掉,跳过进行测试。

当然还有很多不同的类型,这里只列举了几个,比如前段时间看到的说农行的登陆是一个每次打开都在变化的数字软件盘,应该怎么处理,这个帖子写的挺好的,可以参考一下:http://www.51testing.com/html/60/n-133560.html

[学习经验]

这个过程中,学会了一些小的技巧或者说有用的方法:

1,  spy的使用,也就是说当你不知道你要测试的一个控件是什么?有什么方法可以使用的时候,就可以用spy进行探测,spy就是qtp中的那个小人,这样就可以看到很多种可以选择的方法,挺有用的。

2,  sendkeys的使用方法,可以用来处理:

  • 模拟字符串的输入,vbs代码:下面的代码的意思就是,输入123456。

Dim WshShell

Set WshShell = CreateObject("WScript.shell")

WshShell.SendKeys"123456"

Set WshShell=nothing

  • 特殊字符串的输入,用法和上面一样。

Dim WshShell

Set WshShell = CreateObject("WScript.shell")

WshShell.SendKeys(“^+{Esc}”)  ’表示输入Ctrl+Shift+Esc

Set WshShell=nothing

注:Ctrl,Shift,Alt这三个常用的组合键直接使用+,^,%表示。其余可以用{Esc},{Enter}表示。

[感悟]

时间已经是这样度过了很久了,虽然渐渐的明白了接下来的路,但是还是眺望不到尽头,就这样过。

很多事情就像看A片,看得人觉得很爽,做的人未必

TT

Qtp测试中的密码问题的更多相关文章

  1. 反向代理在Web渗透测试中的运用

    在一次Web渗透测试中,目标是M国的一个Win+Apache+PHP+MYSQL的网站,独立服务器,对外仅开80端口,网站前端的业务系统比较简单,经过几天的测试也没有找到漏洞,甚至连XSS都没有发现, ...

  2. 详述MySQL服务在渗透测试中的利用

    本文作者:i春秋签约作家——Binghe 致力于书写ichunqiu社区历史上最长篇最细致最真实的技术复现文章. 文章目录: MySQL之UDF提权 MySQL之MOF提权 MySQL之常规写启动项提 ...

  3. mysql中修改密码的方式

    参考地址:https://www.cnblogs.com/yang82/p/7794712.html mysql中修改用户密码的方式: 最简单的方法就是借助第三方工具Navicat for MySQL ...

  4. web测试中的测试点和测试方法总结

    测试是一种思维,包括情感思维和智力思维,情感思维主要体现在一句俗语:思想决定行动上(要怀疑一切),智力思维主要体现在测试用例的设计上.具有了这样的思想,就会找出更多的bug.   一.输入框 1.字符 ...

  5. 【测试方法】Web测试中bug定位基本方法

    知识总结:Web测试中bug定位基本方法 涉及知识点:测试方法 在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,没错,确实是BUG.进一步了解这个BUG的问题出 ...

  6. Web安全测试中常见逻辑漏洞解析(实战篇)

    Web安全测试中常见逻辑漏洞解析(实战篇) 简要: 越权漏洞是比较常见的漏洞类型,越权漏洞可以理解为,一个正常的用户A通常只能够对自己的一些信息进行增删改查,但是由于程序员的一时疏忽,对信息进行增删改 ...

  7. 在Spring Boot中使用Docker在测试中进行高级功能测试

    最近又学到了很多新知识,感谢优锐课老师细致地讲解,这篇博客记录下自己所学所想. 想更多地了解Spring Boot项目中的功能测试吗?这篇文章带你了解有关在测试中使用Docker容器的更多信息. 本文 ...

  8. [Android] 怎么在应用中实现密码隐藏?

    [Android] 怎么在应用中实现密码隐藏? 在安卓应用中,用户注册或者登录时,需要把密码隐藏,实现一定的保密效果.在安卓中,可以通过设置EditText组件的TransformationMetho ...

  9. ubuntu中phpmyadmin密码忘记

    在安装mysql时,默认只让你设置了root的密码,如果root的密码忘记,处理办法如下 第一步: 这时你需要进入/etc/mysql目录下,然后sudo vim/vi debian.cnf查看里面的 ...

随机推荐

  1. Good Bye 2015 C

    C. New Year and Domino time limit per test 3 seconds memory limit per test 256 megabytes input stand ...

  2. Python数据处理和数据可视化

    工具1:numpy 下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 入门文档:https://docs.scipy.org/doc/nump ...

  3. [codeforces/edu2]总结(F)

    链接:http://codeforces.com/contest/600 A题: 字符串处理. B题: sort+upper_bound C题: 统计一下每种字符的个数,然后贪心. (1) 如果没有奇 ...

  4. Oracle raw类型

    RAW(size):长度为size字节的原始二进制数据,size的最大值为2000字节; RAW类型好处:在网络中的计算机之间传输 RAW 数据时,或者使用 Oracle 实用程序将 RAW 数据从一 ...

  5. 【通用邮件发送】C# QQ 网易邮箱

    using BooksStore.Domain.Models; using System; using System.Collections.Generic; using System.Linq; u ...

  6. \(\rm LightOJ 1371 - Energetic Pandas 简单计数+组合\)

    http://www.lightoj.com/volume_showproblem.php?problem=1371 题意:给你n根竹子,和n只熊猫(XD),每个熊猫只能选择重量不大于它的竹子,问有几 ...

  7. CSS3 动画实现方法大全

    常用效果总结(需要引用animate.css) <!doctype html> <html lang="en"> <head> <meta ...

  8. Bower A package manager for the web

    Bower can manage components that contain HTML, CSS, JavaScript, fonts or even image files. Bower doe ...

  9. js_layer弹窗的使用和总结

    2018-04-10 一张呈现给用户的网页,会有很多种交互,比如连不上网络,用户点击按钮时向后台请求数据不成功等等.像这些情况,用户是看不见的, 要给用户更好的体验,在特定的时间,给客户反馈内容.实时 ...

  10. MFC不同工程(解决方案)之间对话框资源的复制与重用方法(转)

    原文转自 https://blog.csdn.net/lihui126/article/details/45556687