QTP使用Excel自动化模型对象基础操作详解
需积分: 3 55 浏览量
更新于2024-09-14
收藏 304KB DOC 举报
"QTP对Excel的基本操作,包括使用ExcelAutomationObjectModel(EOM)进行自动化测试中的数据驱动,以及一些关键的VBA代码示例。"
在自动化测试领域,QuickTest Professional(QTP,现在被称为UFT - Unified Functional Testing)是一种广泛应用的工具,它允许用户创建和执行功能测试脚本。尽管QTP自身的dataTable功能可以方便地处理数据,但熟练掌握Excel自动化模型对象(EOM)能提供更大的灵活性和控制力。EOM允许测试工程师直接与Excel工作簿和工作表进行交互,实现数据驱动测试,特别是在处理复杂或大量数据时。
以下是一段VBA代码,展示了如何使用EOM来操作Excel:
首先,引入必要的对象:
```vbscript
Dim fileName, filePath
Dim excelApp, fso, sheet, shell
```
接着,创建Excel应用程序对象:
```vbscript
Set excelApp = CreateObject("Excel.Application")
```
创建文件系统对象和外壳对象,用于后续操作:
```vbscript
Set fso = CreateObject("Scripting.FileSystemObject")
Set shell = CreateObject("WScript.Shell")
```
定义文件名和路径,并使Excel可见:
```vbscript
fileName = "d:\1.xls"
filePath = "d:\1"
excelApp.Visible = True
```
添加新的工作簿并保存:
```vbscript
excelApp.Workbooks.Add
excelApp.Save fileName
excelApp.Quit
```
重新打开已保存的工作簿并保持可见:
```vbscript
excelApp.Workbooks.Open fileName
excelApp.Visible = True
```
添加新的工作表并命名:
```vbscript
Set sheet = excelApp.Sheets.Add
sheet.name = "sunyu"
```
写入单元格数据:
```vbscript
sheet.cells(1, 1) = "hello world"
```
最后,使用外壳对象模拟键盘输入,实现“另存为”功能,因为直接使用`excelApp.Save`可能会遇到格式问题:
```vbscript
shell.SendKeys "^s"
shell.SendKeys "{Enter}"
```
代码中提到的问题是,VBS创建的xls文件在使用`excelApp.Save`保存时可能会遇到格式问题,而`shell.SendKeys`模拟的“另存为”操作可以避免这个问题,保存为xlsx格式的新文件。
通过这种方式,测试工程师可以在QTP测试脚本中直接读取、修改和管理Excel文件,实现更高效的数据驱动测试。此外,还可以使用EOM执行更复杂的操作,如查找特定数据、执行公式计算、合并单元格等,极大地丰富了测试用例的编写和执行。
2019-09-21 上传
2012-07-06 上传
2013-06-08 上传
2011-06-01 上传
2009-02-07 上传
2022-09-23 上传
2022-09-19 上传
2011-12-01 上传
2022-09-24 上传
dieinthesun
- 粉丝: 1
- 资源: 4
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析