QTP使用外部Excel实现参数化主要有以下两种方式

  • 导入到DataTable中

Syntax:DataTable.ImportSheet(FileName, SheetSource, SheetDest)

   FileName:文件路径名

  SheetSource:待导入Excel文件的sheet名称或序号

  SheetDest:QTP中DataTable中sheet名称或序号

参考案例:

  1. Dim filePath '工作表所在文件路径;
  2. Dim strDataSheet 'QTPDataTable内待倒入的sheet的名称
  3.  
  4. filePath= "d:\data.xls"
  5. strDataSheet = DataTable.GlobalSheet.Name
  6.  
  7. DataTable.ImportSheet filePath , ,strDataSheet '第二个参数:1表示excel的第一个sheet,也可以用sheet名称代替;第三个参数同理

Excle中数据倒入到DataTable中后,执行从DataTable中读取数据的操作,具体操作参考 【QTP专题】05_参数化之DataTable

  • 利用com操纵Excel

  1. Option Explicit
  2. ' =================================================
  3. ' 函数说明:获取Excel工作表中单元格的值
  4. ' 参数说明:
  5. ' (1)filePath:工作表所在文件路径;
  6. ' (2)excelSheet:工作表名称;
  7. ' (3)colName:列名;
  8. ' (4)row:行的序号;
  9. ' 返回结果:返回单元格的值
  10. ' 调用方法:userName=getCellValue (filePath,"loginUser","用户名",2)
  11. ' =================================================
  12.  
  13. Function getCellValue(filePath,excelSheet,colName,row)
  14. Dim ObjExcel,excBook,excSheet,cellValue
  15. Set ObjExcel = CreateObject ("Excel.Application")
  16. ObjExcel.Visible = False 'Excel程序不在前台显示
  17. Set excBook = ObjExcel.WorkBooks.Open(filePath) '打开参数filePath指定的excel文件工作簿
  18. Set excSheet=excBook.Worksheets(excelSheet) '名为参数excelSheet的工作表
  19. colNum= excSheet.UsedRange.Columns.Count '获取工作表的列数
  20.  
  21. Dim i,col
  22. For i= to colNum '循环工作表中所有列
  23. If excSheet.Cells(,i).Value = colName Then '如果列名为参数colName
  24. col=i '将该列名所在列号赋给变量col
  25. End If
  26. Next
  27.  
  28. cellValue = excSheet.Cells(row,col).Value '将单元格(row,col)中的值赋予变量cellValue
  29. getCellValue = cellValue '将单元格的值赋予函数本身,表示调用函数时的返回值
  30.  
  31. 'Excel退出,释放资源
  32. ObjExcel.WorkBooks.Close
  33. ObjExcel.Quit
  34. Set ObjExcel = Nothing
  35. Set excelBook = Nothing
  36. 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. python 获取当前运行的类名函数名

    import inspect def get_current_function_name(): return inspect.stack()[1][3] class MyClass: def func ...

  2. manta api

    Authentication 有几个访问方法. 验证对服务的请求的主要方法是使用TLS上的HTTP签名. 在大多数情况下,您只需使用SSH私钥对HTTP Date标头的小写日期:和值进行签名; 这样做 ...

  3. mybatis+oracle如何批量执行多条update

    接口 public void setStatus(List<Columns> columnsList); mapping xmlmapping 中使用foreach,关于标签的使用,资料非 ...

  4. 如何用shell脚本执行或关闭jar包服务?

    现在springboot很流行,但是大家都知道springboot是以jar包的方式进行打包的,那样就少不了开启或关闭服务的操作了,但是命令方式未免过于繁琐. 下面记录shell脚本的方式启动或关闭服 ...

  5. c# 遍历一个对象里面的全部属性

    比如我现在有一个Student的对象,里面有属性stuName,stuAge,stuGender,我现在该怎么写循环才能遍历这几个属性? Student s=new...... foreach (Sy ...

  6. 每个内存大小:sudo dmidecode -t memory |grep -A16 "Memory Device$" |grep "Size:"

    CPU: 型号:grep "model name" /proc/cpuinfo |awk -F ':' '{print $NF}' 数量:lscpu |grep "CPU ...

  7. linux zip解压缩中文乱码

    这里提供两个解决方案: 1.python处理下:https://gist.github.com/wangjiezhe/7841a350983a147b6d7e 2.java的zip4j:http:// ...

  8. ProxyPattern(23种设计模式之一)

    设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大 ...

  9. HAproxy-1.6.3 安装部署

    反向代理优缺点: haproxy反向代理高性能的HTTP,TCP反向代理 nginx:优点:1.web服务器,比较广泛2.工作7层location设置比较复杂基于HTTP(url,cookies,ag ...

  10. OpenGL坐标变换专题

    OpenGL坐标变换专题(转)   OpenGL通过相机模拟.可以实现计算机图形学中最基本的三维变换,即几何变换.投影变换.裁剪变换.视口变换等,同时,OpenGL还实现了矩阵堆栈等.理解掌握了有关坐 ...