【QTP专题】05_参数化之Excel
QTP使用外部Excel实现参数化主要有以下两种方式
导入到DataTable中
Syntax:DataTable.ImportSheet(FileName, SheetSource, SheetDest)
FileName:文件路径名
SheetSource:待导入Excel文件的sheet名称或序号
SheetDest:QTP中DataTable中sheet名称或序号
参考案例:
Dim filePath '工作表所在文件路径;
Dim strDataSheet 'QTP中DataTable内待倒入的sheet的名称 filePath= "d:\data.xls"
strDataSheet = DataTable.GlobalSheet.Name DataTable.ImportSheet filePath , ,strDataSheet '第二个参数:1表示excel的第一个sheet,也可以用sheet名称代替;第三个参数同理
Excle中数据倒入到DataTable中后,执行从DataTable中读取数据的操作,具体操作参考 【QTP专题】05_参数化之DataTable
利用com操纵Excel
Option Explicit
' =================================================
' 函数说明:获取Excel工作表中单元格的值
' 参数说明:
' (1)filePath:工作表所在文件路径;
' (2)excelSheet:工作表名称;
' (3)colName:列名;
' (4)row:行的序号;
' 返回结果:返回单元格的值
' 调用方法:userName=getCellValue (filePath,"loginUser","用户名",2)
' ================================================= Function getCellValue(filePath,excelSheet,colName,row)
Dim ObjExcel,excBook,excSheet,cellValue
Set ObjExcel = CreateObject ("Excel.Application")
ObjExcel.Visible = False 'Excel程序不在前台显示
Set excBook = ObjExcel.WorkBooks.Open(filePath) '打开参数filePath指定的excel文件工作簿
Set excSheet=excBook.Worksheets(excelSheet) '名为参数excelSheet的工作表
colNum= excSheet.UsedRange.Columns.Count '获取工作表的列数 Dim i,col
For i= to colNum '循环工作表中所有列
If excSheet.Cells(,i).Value = colName Then '如果列名为参数colName
col=i '将该列名所在列号赋给变量col
End If
Next cellValue = excSheet.Cells(row,col).Value '将单元格(row,col)中的值赋予变量cellValue
getCellValue = cellValue '将单元格的值赋予函数本身,表示调用函数时的返回值 'Excel退出,释放资源
ObjExcel.WorkBooks.Close
ObjExcel.Quit
Set ObjExcel = Nothing
Set excelBook = Nothing
End Function
【QTP专题】05_参数化之Excel的更多相关文章
- QTP检查点和参数化_百度一下
一.脚本编辑检查点: Browser("百度知道 - 全球最大中文互动问答平台").Page("百度知道 - 全球最大中文互动问答平台").WebEdit(&q ...
- QTP脚本--应用参数化来测试某个输入框
以前一直觉得自己没有写代码的资质,太急于求成,以为一天就能写好几个功能,几千行代码,于是就没耐心了,没心情学下去了....但是最近发现其实写代码是一个漫长的过程,都是在修修改改中成长起来的.于是今天试 ...
- 接口自动化测试:参数化封装(excel文件读取)
log4j.properties文件配置 log4j.rootLogger = DEBUG,stdout,F log4j.appender.stdout = org.apache.log4j.Cons ...
- POI tools 参数化生成excel表格
package com.eccom.neteagle.server.confsave.service.impl; import java.io.File; import java.io.FileNot ...
- 【QTP专题-优化】VBS脚本启动QTP并运行测试
使用vbs脚本启动QTP并运行测试,startQTP.vbs '******************************************************************** ...
- 【QTP专题】04_对象及操作方法
本节介绍知识点包括 1.QTP自动化的原理 2.两类对象:TO(测试对象).RO(运行对象) 3.操作方法:SetTOProperty,GetROProperty,GetTOProperty 1.QT ...
- 【QTP专题】03_Add-in Manager插件
1.什么是Add-in Manager Add-in Manager,故名思议这是一个QTP插件管理器,每次启动前需要选择对应的插件才能进行测试. 打开QTP之后,我们可以看到有如下的一个Add-in ...
- 【QTP专题】02_时间同步点问题
一.什么是同步点 同步点是指在一个测试过程中,指示QuickTest等待应用程序中某个特定过程运行完成以后再运行下一步操作.Waits until the specified object prope ...
- 【QTP专题】01_安装时报DLL无法注册(转载)
安装QTP过程中报很多DLL注册失败,全部忽略后安装完成,结果打开QTP录制的脚本无法保存,(点击保存按钮没反应) 1.问题分析: 问题a 使用精减版的操作系统 问题b 需要IE 6.0 及以上版本 ...
随机推荐
- Unity脚本开发基础 C#
1. MonoBehaviour 类 常用事件响应函数: 2. 访问游戏对象 (1) 通过名称来查找 (2) 通过标签来查找 上述函数比较费时,应避免在 Update 函数调用. 3. 访问组件 对于 ...
- 3.Hadoop集群搭建之Zookeeper安装
前期准备 下载Zookeeper 3.4.5 若无特殊说明,则以下操作均在master节点上进行 1. 解压Zookeeper #直接解压Zookeeper压缩包 tar -zxvf zookeepe ...
- axis客户端循环访问webservice的时候只发送了几条数据就断开了的问题
原因 axis客户端访问webservice默认是使用http1.0版本的,这个版本的http不能保持长连接,应该换成http1.1版本 具体修改步骤: <?xml version=" ...
- Java Socket编程之UDP
UDP编程: 将要传输的数据定义成数据包(Datagram),在数据报中指明所要到达的Socket(主机地址和端口号),然后再将数据报发送出去. 相关操作类: DatagramPacket ...
- debian:jessie 安转percona mysql
dpkg -r percona-server-server-5.6 dpkg -r percona-server-client-5.6 dpkg -r libperconaserverclient18 ...
- java 蓝桥杯算法提高 字串统计
思路:这道题用HashMap来保存枚举的字串,key值保存字串-value值保存字串所出现的次数: 通过for循环并使用subString()方法枚举所有符合要求的子串maxStr记录 ...
- IEnumerator & IEnumerable
[IEnumerator] 用于遍历一个对象,IEnumerator在System.Collections命名空间中. public interface IEnumerator { object Cu ...
- Powerdesigner逆向工程从mysql生成PDM
大家喜欢用powerDesigner进行数据库建模.通常都是先设计出物理模型图,再转换出数据库需要的SQL语句,从而生成数据库.但“powerDesigner逆向工程”就能将数据库逆向转为物理模型图. ...
- Metadata Service 最高频的应用 - 每天5分钟玩转 OpenStack(164)
实现 instance 定制化,cloud-init(或 cloudbase-init)只是故事的一半,metadata service 则是故事的的另一半.两者的分工是:metadata servi ...
- myisam,innodb和memory的区别
1.myisam,innodb和memory的区别如下: 2:InnoDB存储引擎2.1:InnoDB具有事务,回滚,崩溃修复能力和多版本并发的事务安全2.2:关于InnoDB的auto_increm ...