QTP参数化

DataTable方法详解

 

  DataTable是QTP提供的一种方法,也是最容易实现参数化的一种方式。QTP针对DataTable对象提供了很多方法,可以对DataTable进行灵活的操作。

      DataTable分为Global和Local两种,Global所有的Action都可以用,而Local就是只能Action自己用。

 

  通过DataTable做参数化最直接的方法就是在Keyword View视图下通过选项进行,这样即方便又减少出错的几率。单击要参数化项目的value列,选择出现的箭头弹出Value Configuration Option对话框,在这里可以很方便的进行参数化。

                                                  

  Parameters选择数据来源类型。下拉列表选择DataTable后,选择所要使用的数据表Global还是local,最后选择name参数取自哪列,点击确定后即可完成参数化过程。

 

代码如下:Dialog("Login").WinEdit("Agent Name:").Set DataTable("user", dtGlobalSheet)

 

  这是最简单最直接的方式。用这种方式需要注意,在File---Seting---Run需要做相应设置,否则运行结果很容易出错,使实际取到的参数值和预期的不一样或是循环不正确的错误。最好的方式是通过写语句来控制迭代过程中的取值。在脚本开发过程中,这种方式是最常用的。类似如下代码:

For i=0 to DataTable.GetCurrentRow
  Dialog("Login").WinEdit("Agent Name:").Set DataTable("user", dtGlobalSheet)
  DataTable.SetNextRow
Next

                        

 

关于DataTable iterations的问题:

 

1、 file-->settings-->run下data table iterations 中设置控制的是数据表中global里数据的运行方式;global是全局的!当运行方式设置为运行全部或多行时,运行几行数据“程序”就要回放几次!!不能重新设置!!
2、edit-->action-->action call properties-->run下data table iterations 中设置控制的是数据表中该action里数据的运行方式;local 是局部的!当运行方式设置为运行全部或多行时,运行几行数据“该action”就要回放几次!!
进一步说明:

  • 当global有多行数据file-->settings-->run On all Rows ;action有多行数据action call property->Run On all Rows 程序每次运行时,action中的每行都要执行一次
  • 当global 有多行数据file-->settings-->run On all Rows ;action有多条数据,action call property->Run  one iteration only 而且global的行数>action的行数,当action执行到最后一行后,不管此时global 的行数为几,下次回放时action都执行最后一行! 如果global的行数<action的行数,action就执行不到最后一行
  • action call property->Run from rows to rows,就结合上面所说可以理解
  • 当同一个action中有多个参数时,且action call property->Run On all Rows, 这个时候每个参数的数据个数需要相等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值