QTP自动化测试脚本技巧总结
需积分: 9 47 浏览量
更新于2024-09-14
收藏 21KB DOCX 举报
"这篇文档是关于QuickTest Professional (QTP) 的常用脚本总结,主要涉及了QTP的回放模式设置、DOM操作、全局变量的定义、键盘输入模拟、随机数生成、日期时间获取、事务管理以及自定义函数的注册等核心功能。"
在QTP自动化测试中,脚本的编写是关键。以下是一些重要的知识点:
1. 回放模式设置:
QTP提供了两种回放模式:事件模式(1)和鼠标模式(2)。在脚本中,可以通过`Setting.WebPackage("ReplayType") = 2`来设置为鼠标模式,这种模式下,QTP会模拟用户的鼠标点击行为。
2. 对象的描述和属性:
`fatherObject.Link("micclass:=Link","text:=clickme").click` 这行代码展示了如何描述和操作对象。`fatherObject`是父对象,`Link`是对象类型,`micclass:=Link`和`text:=clickme`是对象的属性,用于唯一标识链接对象,最后的`.click`是执行点击操作。
3. DOM操作:
- `XX.Object.getElementById`:通过ID查找DOM中的元素。
- `XX.Object.getElementsByName`:根据名称获取一组元素。
- `XX.Object.getElementsByTagName`:根据标签名获取元素集合。
- `XX.Object.getElementsByType`:根据元素类型获取集合。
4. 定义全局变量:
可以使用`ExecuteGlobalCode "Dim strText"`来声明全局变量`strText`,或者通过执行外部脚本`ExecuteFile "c:\wally.vbs"`引入更多变量。
5. 字符串转换为变量名:
使用`eval`函数可以将字符串转化为变量名,例如`CnnString=eval(currentOrcl&"_CnnString")`。
6. 键盘输入模拟:
通过创建`WScript.Shell`对象并调用`Sendkeys`方法,可以模拟键盘输入,如`WshShell.Sendkeys "{ENTER}"`表示按下回车键。
7. 随机数生成:
`Int(Rnd*100000)+1`可以生成1到100000之间的随机整数。
8. 日期和时间获取:
可以通过内置函数获取当前系统日期和时间,如`year(now)&month(now)&day(now)&Hour(time)&Minute(time)&Second(time)`。
9. 事务管理:
QTP提供事务处理,如`Services.StartTransaction "test"`开始一个名为“test”的事务,`Services.EndTransaction "test"`结束该事务。
10. 注册自定义方法:
使用`RegisterUserFunc`可以注册自定义函数,例如`RegisterUserFunc "WebTable","getColNum","getColNum1",TRUE`,创建了一个名为`getColNum`的WebTable自定义方法。
11. DOM对象操作:
- 获取DOM对象:`Set obj = Browser("Browser").Object.document.getElementById("childDIV")`。
- 获取子节点:`Set co = obj.childNodes`。
- 操作子节点:如`Set inputObj = co(0)`选取第一个子节点,然后`co(0).value = "aa"`设置其值为"aa"。
12. jQuery操作:
`$("#dg").datagrid("getData")`是jQuery中的操作,用于获取数据网格的数据显示数据。
13. 窗口操作:
可以获取浏览器窗口的句柄`hWnd = Browser("Google").GetROProperty("hwnd")`,并进行窗口操作,如最大化窗口`Window("hwnd:=" & hWnd).Maximize`。
以上就是QTP脚本中涉及到的一些主要知识点,这些技能对于高效地自动化测试和编写QTP脚本至关重要。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2012-07-13 上传
2009-02-24 上传
2013-06-22 上传
2013-07-12 上传
2015-12-23 上传
2011-10-14 上传
geek520
- 粉丝: 0
- 资源: 2
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析