QTP参数化分析和总结.docx
QTP学习经验总结和问题
QTP录制应先作录制计划A问题描述
在录制脚本时,通常会遇到一些特殊的情况,比如在编辑脚本时无法添加文字检查点等问题
B解决办法
在录制脚本之前作录制计划,不一定要详细的计划,只是在头脑中要清晰你要录制什么流程,设立什么检查点,在哪设立检查点.避免不作计划先录制脚本,然后通过编辑的方法来完善脚本,有的时候由于录制级别设置的问题,有的界面可能无法被保存下来,那么你就无法在其上使用任何检查点,边录制边添加检查点的方法就可以避免这个问题.
QTP的录制方法A问题描述
在学会使用QTP之后需要掌握其正确的录制方法才能达到事半功倍的效果,往往方法不对会导致运
行结果与预期不一致,现以录制登陆为例
B解决办法
以登陆为例,登陆一般分为两个脚本录制,分别是合法登陆,非法登陆
合法登陆:使用正确得用户名,密码,登陆系统,检查点检查登陆到系统中
非法登陆:使用错误的用户名,密码,登陆系统,检查点检查因没有登陆进系统,而弹出的提示信息
关于下拉选择数据输入框的更改
A问题描述:
在QTP录制脚本的过程中经常会遇到下拉选择数据输入框的问题和录制后会遇到需要通过参数化来使脚本的重用性提高的问题,你可以通过修改下拉选择数据输入框的属性的值的方法完成参数化
B处理流程:
B1录制脚本
B2参数化下拉菜单
B3运行脚本
C术语说明
C1TD是MI公司的一款测试管理工具,他采用B/S模式,使得用户可以在任何与Server相连的计算机上实现测试用例的管理
C2QTP是MI公司推出的功能测试工具,主要用于B/S模式的系统测试D实例:
D1录制脚本,录制一个关于下拉选择数据输入框的脚本如下图图2.3.D1.1
D2参数化下拉选择数据输入框,展开你的脚本,找到有下拉菜单的那个步骤,直接在他的值上作更改或者参数化即可
图2.3.D2.2
根据你更改的数值,QTP会在下次回放时自动找到这个数值
关于多级下拉选择数据输入框的问题,使用同样的方法QTP会自动识别二级菜单你所输入的内容D3运行脚本
中文输入法对于回放的影响
A问题描述
由于录制和回放时输入法设定不一致,使得回放时,QTP不能识别某些输入法的特定字符,导致脚本无法正常运行
B解决办法
保证录制脚本的环境与回放时的环境相同,避免产生类似的问题,这个问题可以扩展到其他方面,很多情况下,都是由于回放环境与录制脚本环境不一致导致脚本无法正常运行,输入法只是一个例子
如何修改系统时间
A问题描述:
使用QTP连续修改系统时间B解决办法:
通过编码实现
建立一个bat文件,输入
time%1QTP中:
SystemUtil.Runc:\settime.bat,15:30:0015:30:00:为需要设置的系统时间
关于录制这部分,因为每个人遇到的问题不一样,所以没法写的很多,只能把大体的录制思想和主要的录制技巧写一下,如果有更多问题,还需要继续交流
1.如何在一个脚本中调用另外的脚本?
解决方法:在QTP中脚本无法重复调用,胃能调用脚本中的Action.如果一个脚本中的某一
个脚本中的某个Action需要被外部调用,需要设置:a.脚本的属性为Reusable.b.设置脚本的objectrepositorytype为shared,这样,此脚本的对像可以被别的脚本
使用了.
登陆时用户名和密码的参数化问题?
由于系统有两种用户,经常需要用不同的用户登陆,如果是把用户名和密码做成参数化,需要手工频繁修改参数.最后考虑把登陆部分放到外部文件中,以函数的形式调用.
3如何只运行指守的Action?
我把所有的交易动作都放在一个脚本里,每一动作是一个Action.这样需要组合不同的
Action完成不同的业务,需要运行指定的Action.现在还没有找到方法.暂时采用新建一个运行脚本,调用基础脚本里的各种操作完成业务.
4.一个Action的输入参数信赖于另一个Action的输出.这个在参数的传递上用什么来实现
呢?
用脚本里的全局参数来传递.
QTP参数化相关一、直接用DataTable的数据进行参数化
使用技巧:
比如我们要设置的参数为test1…test100;那么我们可以写成test(1-100)
(属于正则表达式的一种应用)
二、使用编程的方法产生随机数进行参数化
RandomNumber.Value(…)三、取系统时间
T=Time,D=Date.四、对Link的参数化1、直接参数化对象库中的属性值
2、使用描述性编程的方法实现
五、对加密的值进行参数化的方法
原QTP语句:Browser(“…”)。Page(“…”