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的更多相关文章

  1. QTP检查点和参数化_百度一下

    一.脚本编辑检查点: Browser("百度知道 - 全球最大中文互动问答平台").Page("百度知道 - 全球最大中文互动问答平台").WebEdit(&q ...

  2. QTP脚本--应用参数化来测试某个输入框

    以前一直觉得自己没有写代码的资质,太急于求成,以为一天就能写好几个功能,几千行代码,于是就没耐心了,没心情学下去了....但是最近发现其实写代码是一个漫长的过程,都是在修修改改中成长起来的.于是今天试 ...

  3. 接口自动化测试:参数化封装(excel文件读取)

    log4j.properties文件配置 log4j.rootLogger = DEBUG,stdout,F log4j.appender.stdout = org.apache.log4j.Cons ...

  4. POI tools 参数化生成excel表格

    package com.eccom.neteagle.server.confsave.service.impl; import java.io.File; import java.io.FileNot ...

  5. 【QTP专题-优化】VBS脚本启动QTP并运行测试

    使用vbs脚本启动QTP并运行测试,startQTP.vbs '******************************************************************** ...

  6. 【QTP专题】04_对象及操作方法

    本节介绍知识点包括 1.QTP自动化的原理 2.两类对象:TO(测试对象).RO(运行对象) 3.操作方法:SetTOProperty,GetROProperty,GetTOProperty 1.QT ...

  7. 【QTP专题】03_Add-in Manager插件

    1.什么是Add-in Manager Add-in Manager,故名思议这是一个QTP插件管理器,每次启动前需要选择对应的插件才能进行测试. 打开QTP之后,我们可以看到有如下的一个Add-in ...

  8. 【QTP专题】02_时间同步点问题

    一.什么是同步点 同步点是指在一个测试过程中,指示QuickTest等待应用程序中某个特定过程运行完成以后再运行下一步操作.Waits until the specified object prope ...

  9. 【QTP专题】01_安装时报DLL无法注册(转载)

    安装QTP过程中报很多DLL注册失败,全部忽略后安装完成,结果打开QTP录制的脚本无法保存,(点击保存按钮没反应) 1.问题分析: 问题a 使用精减版的操作系统 问题b  需要IE 6.0 及以上版本 ...

随机推荐

  1. Spring 学习记录7 初识XmlWebApplicationContext

    主题 之前Spring相关的一些类,比如Enviromnent,BenFactory都接触了一些.有一些收获.但是直接看代码很多方法都不知为什么这样写.哪里会用到.因为太底层了.不好理解..现在从高层 ...

  2. url_encode and url_decode in Shell

    之前写过一版 shell下解码url,下面给出另外一个版本 from https://gist.github.com/cdown/1163649 function urlencode() { loca ...

  3. Python的索引迭代

    Python中,迭代永远是取出元素本身,而非元素的索引. 对于有序集合,元素确实是有索引的.有的时候,我们确实想在 for 循环中拿到索引,怎么办? 方法是使用 enumerate() 函数: > ...

  4. sql中问号是干什么的??

    第一次在后台 程序中遇到sql语句中的问号: /** * * 方法描述 : 通过账号id更新该账号状态 * @param state 状态 * @param id 账号id */ @Modifying ...

  5. (转)libvirt API的基本概念

    本文摘自:http://blog.sina.com.cn/s/blog_da4487c40102v31i.html libvirt对象 libvirt的对象向外展现了虚拟化环境的所有资源.libvir ...

  6. go_指针

    值传递:相当于在内存中拷贝一分变量出来,拷贝变量的改变对原变量不影响 引用传递:直接引用内存中的变量,会被改变 c,c++值传递和引用传递都有 Java,python多用引用传递 go语言指针简单之处 ...

  7. 解剖Nginx·模块开发篇(4)模块开发中的命名规则和模块加载与运行流程

    1 命名规则 1.1 基本变量 基本变量有三个: ngx_module_t 类型的 ngx_http_foo_bar_module: ngx_command_t 类型的数组 ngx_http_foo_ ...

  8. 原生JS的使用,包括jquery和原生JS获取节点、jquery和原生JS修改属性的比较

    一.前言 相比于JS这条直达终点.满是荆棘的小路,jquery无疑是康庄大道了,足够的简洁.易用给了它辉煌的地位.然而,毕竟是绕着道的插件,当小路走着走着变成大路的时候,曾经的大路也就失去了他自身的优 ...

  9. MYSQl修改临时文件目录

    MSYQL在执行查询语句时报出以下错误: ERROR 3(HY000):Error writing file 'tmp/MY1yjZEI'(Errcode:28) 看了下/tmp所在目录的磁盘情况,发 ...

  10. Golang 之 Qrcode 二维码

    二维码大行其道,尤其 qrcode ,怎么能少了大golang 呢. follow me . 1.引用 go get github.com/skip2/go-qrcode 2.写 package ma ...