第六节 QTP中的对象库操作
补充:了解一下,选项的编号(顺序号)书写在DataTable中,那么测试代码中增加cint()的语法格式,就可以使用选项编号作为测试数据。
注意:编号从0开始。
例:
Window("Flight Reservation").Dialog("Open Order").Dialog("Search Results").WinList("Flight No.").Select cint(DataTable("订单", dtLocalSheet))
练习:新建一个Test,调用Test6001的启动并登录Action,复制Test6002的退出Action。
在第一个和第三个Action间增加一个Action,修改名称为“订票”,录制订票的步骤,对订票Action做DataTable参数化。
顾客姓名 舱位
zhangsan First
lisi Business
Test6003
一、DataTable参数化高级使用
1.在对象仓库中对象的关键属性值做DataTable参数化
(1)应用场景:可以用于窗口类应用程序中一组单选按钮做DataTable参数化。
(2)特点:每个单选按钮是一个RO,一组是多个RO。
(3)操作步骤:打开对象仓库找到一个单选按钮的TO(如果没有,提前添加TO),点击其关键属性中的text属性值后的<#>来做参数化,在DataTable中不同行中书写不同RO的text属性值。
二、输出值Output Value
1.作用:输出被测系统所生成的实际数据值。
2.应用场景:
(1)关心实际数据是什么
(2)后续步骤中使用前面步骤操作后被测系统所生成的数据
3.输出值的类型:
(1)标准输出值 --- 重点!
(2)文本输出值
(3)文本区域输出值
(4)数据库输出值
(5)XML输出值
4.特点:与检查点不同,输出值没有预期值。
5.标准输出值Standard Output Value
(1)作用:输出被测系统中实际运行时控件对象(RO)的当前指定属性值。
(2)要素:
a.控件
b.属性名称
c.数据存储的位置(DataTable、Environment)
d.步骤间位置
(3)注意:输出值没有超时时间,也就是说输出值步骤本身不会做任何等待,执行到该步骤就会立即输出。所以如果需要等待一会再输出,必须在输出值步骤之前,书写wait
的步骤。
(4)录制时插入输出值的步骤:
a.QTP菜单=》Insert=》Output Value=》Standard Output Value
b.使用手型鼠标点击选中被测系统中待输出的控件
c.在弹出框选中父控件还子控件,OK
d.配置输出值的要素:勾选属性,点击Modify,修改Output Type(输出类型,也就是数据存储的位置),如果是DataTable,修改Location和Name,OK,OK
(5)查看输出的数据:运行过程中查看QTP界面下方的DataTable视图,或运行后查看测试结果报告的Run-time DataTable(运行时数据表)
案例:Flight,登录、订票、输出新订单号、退出、再启动、登录、用新定单号打开新订单、退出。
(6)输出值可以与DataTable参数化一起使用
a.Global Sheet(全局表单)中输出值向哪行输出数据取决于当前是第几次Test迭代。
b.Current Action Sheet(当前Action表单)中输出值向哪行输出数据取决于当前是第几次Action迭代。
案例:两位数加法器,做多组数据加法计算后,退出。在每次计算后都输出被测系统计算出来的实际结果。
Test6005
三、环境变量(Environment)
1.环境变量是QTP主要用于临时存储数据的位置,输出值建议输出数据到环境变量,而不是数据表。
2.输出值支持的输出类型(数据存储的位置):
(1)DataTable
(2)Environment
a.做输出值,点击Modify
b.选择Output Type为Environment的选项,输入Name(环境变量名称),OK
注意:环境变量名称不要写中文和特殊符号,建议使用英文字符和数字。
3.QTP参数化的类型:
(1)DataTable
(2)Environment
a.点击Value列后<#>
b.选择Parameter,在其后下拉框中选择Environment的选项
c.在Name下拉框中选择环境变量名称
d.输入Value(环境变量中无值时使用的默认值),OK
(3)Random Number
四、随机数(Random Number)
1.随机数类型的参数化主要用于做随机测试。
2.随机数类型的参数化实现时,会将常量整数替换为一个指定范围内的随机整数。
3.在关键字视图做随机数参数化的步骤:
(1)点击Value列的常量整数,点击其后<#>
(2)选择Parameter,在其后下拉框中Random Number的选项
(3)输入范围下限值(From)和上限值(To),OK
4.限制:在关键字视图做随机数参数化时,下限和上限值只能输入非负数。
5.专家视图中做随机数参数化:只需要将常量整数替换成为RandomNumber(下限值,上限值)的代码即可。支持负数。
例:
Dialog("Login").WinEdit("Agent Name:").Set RandomNumber(1000, 9999)
6.高级配置---难点,不是重点!
(1)在随机数参数化时,勾选Name复选框,输入随机数名称(英文和数字,不能是中文)
(2)检查点预期值做随机数参数化,预期值需要勾选Name复选框,从其后下拉框中选择一个准备好的随机数名称,这样前面生成的随机数是几,预期值就是几。
案例:Flight,登录、打开随机编号的订单、退出。
随机编号范围:1-10之间,包含1和10。
对登录用户名做随机数参数化,生成1000到9999之间的随机数作为用户名使用。
检查每次打开的订单编号正确。
Test6007
练习:Flight,登录、试图打开随机无效编号的订单后取消、退出。
随机编号范围:1000-2000之间,包含1000和2000。
Test6008