设计——功能分解
实现——对象的识别
測试自己主动化实现的两个难点—功能分解
清晰画出业务流程图
依据业务流程分解业务功能。能够被复用的功能也要被分解出来。
依照路径覆盖的思想。组织測试用例
測试自己主动化实现的两个难点—对象识别
创建測试 获取被操作对象的属性信息
使用唯一的对象名在对象仓库中记录该对象。
标识关键属性信息
在脚本中记录对象名称和对应的动作。
执行測试
从脚本中获得对象名称。
在对象仓库中定位对象。并获取其关键属性。
依据关键属性信息在被測应用中定位对象。
依据脚本中录入的动作执行对应的操作。
測试对象管理机制 Resources->Object Repository(对象仓库)
序号 | Web对象 | 推荐识别属性 | 方法參数 |
1 | Browser | creationTime | |
2 | Page | index | |
3 | Frame | name | |
4 | WebTable | name | |
5 | WebEdit | name | Set |
6 | WebButton | text | Click |
7 | WebList | name | Select“#index” |
8 | Link | text | Click |
9 | Image | name | |
10 | WebCheckBox | name | Set “on/off” |
11 | WebRadioGroup | name | Select“#index“ |
12 | WebElement | innertext/html | tag |
在对象仓库中加入新对象
Resources->Object Repository
->Add Objects
Active Screen 的对象->右击,快捷菜单View/Add Object
语法自己主动完毕
tools--->view options-->auto-expand vbscript syntax
凝视:ctrl+m, ctrl+shift+m
QTP描写叙述性编程
关闭浏览器进程 systemutil.CloseProcessByName("iexplore.exe")
打开浏览器 systemutil.Run "C:ProgramFilesInternetExploreriexplore.exe","http://192.168.93.10:8080/mtours/servlet/com.mercurytours.servlet.WelcomeServlet"
“浏览器路径” ,“訪问连接”
打开程序 systemutil.Run "C:calc.exe" (计算器)
实例Browser(“creationTime:=0”).Page(“index:=0”).WebEdit(“name:=amount”).Set “1000”
在第一个被创建的IE窗体,查找name属性为amount的输入框,输入数据1000
Browser(“creationTime:=1”).Page(“index:=0”).WebButton(“text:=保存”).Click
在第二个被创建的IE窗体,查找button。该button上显示的文字是“保存”,点击该button
Window("计算器").WinButton("text:=C","Index:=1").Click
QTP对象属性
对象识别的优先级:强制属性→辅助属性→智能标识→顺序标识
顺序模式:Order Identifier有3中策略
用途:多个同名的
Index(代码):源码中的显示顺序
Location(出现):界面中的顺序
CreatTime(打开):Browser对象有。该浏览器打开的顺序
QTP获取属性值函数
GetToProperty:录制时的对象属性的值test object
GetTOProperties:录制时的对象属性集test object
GetROProperty:执行时对象属性的值run object
对象库的维护
对象库的保存【File】→【Export Local Object….】
对象库的合并 【Resources】→【Object Repository Manager】【Tools】→【Object Repository Merge Tool】
对象库的共享引用 【Resources】→【Associate Repositories】