qtp调用excel进行数据导入

上一篇 / 下一篇  2013-05-15 10:07:27 / 个人分类:qtp自动化实现

QTP调用Excel中的数据-手动和自动

2012-09-22 16:45:33|分类:STUDY|标签:|字号大中小订阅

第一种方法:手动将Excel表加入QTPdatatable中,然后在代码中调用数据。

通过在“file>settings>resource”中添加外部excel文件,我们可以将该外部数据文件作为data table使用。且不会在默认的Defualt.xls中存储。

 

Dim i

'获取行数
For i=1 to
datatable.GetSheet("Sheet1").GetRowCount

Browser("币种").Page("币种").Frame("Container_FrameBody").WebElement("新建").Click
Browser("
币种").Page("币种").Frame("Container_FrameDynamicSidebar").WebEdit("Code:C").Click
'Browser("
币种").Page("币种").Frame("Container_FrameDynamicSidebar").WebEdit("Code:C").Set"ABC"

'此处ABC为手动录制时的结果,将ABC换为Excel中的数据
Browser("币种").Page("币种").Frame("Container_FrameDynamicSidebar").WebEdit("Code:C").SetDataTable("Code", Sheet1)

'DataTable("Code", dtLocalSheet)也可写为DataTable.value("Code", dtLocalSheet)

Next

 

第二种方法:直接编写脚本,使datatable读取已有的excel中的数据,此中方法不识别xlsx格式的excel文件。

Option explicit
Dim rowcount
Dim filepath
Dim i,name1,Grade

'可使用相对路径找出相应的表,但要求test1action1在同一个目录下,否则相对路径需做相应修改
filepath=pathfinder.Locate("test1.xls")
datatable.Import filepath

'也可直接使用绝对路径引用excel
'datatable.Import("C:\Documents and Settings\Administrator\
桌面\test1.xls")

rowcount=datatable.GetRowCount
For i=0 to rowcount-1

datatable.GetCurrentRow
name1=datatable.Value("Name")
Grade=datatable.Value("Grade")
datatable.SetNextRow
If datatable.GetCurrentRow>rowcount Then
Exit for
End If
Next

比较:

第一种方法是通过在QTPData Table中直接导入脚本运行后表中数据一直都保存在action表中。

第二种方法是直接在运行中引用外部的excel表,且xlsx格式的不识别,运行结束后不会写入到action表中。也可使用importsheet函数实现

 


TAG:

 

评分:0

我来说两句

junyjiang

junyjiang

推倒所有的一切让自己成为一个白痴,这应该是做出突破的最佳方案了!!

日历

« 2024-05-16  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 23804
  • 日志数: 18
  • 建立时间: 2013-01-14
  • 更新时间: 2014-03-25

RSS订阅

Open Toolbar