【软件自动化测试-QTP实战技能 25】== QTP_DataTable

本文主要介绍了QTP中DataTable的使用技巧,包括两种获取DataTable值的方法:通过'ParamName'和'DtGlobalSheet',以及获取DataTable行数的方法。内容适合软件自动化测试人员学习。
摘要由CSDN通过智能技术生成

一:

     'Methods of getting a Data Table value

     val = DataTable.Value("ParamName",dtGlobalSheet)

     val = DataTable.Value("ParameName","Global")

   

     '

 二:


1、DataTable方法GetRowCount7 L, c! x; I1 H- q2 M) q

   DataTable.GetSheet("Action1").GetRowCount   //获取总行数 0 ?" l, v* l0 h4 ?
  使用如:
$ i. m! v$ M3 k
  CountNum=DataTable.GetSheet("Action1").GetRowCount
$ F- c" R& L4 U3 \1 U
3 G1 z. v! H1 P
2、DataTable方法SetNextRow
   DataTable.GetSheet("Action1").SetNextRow     //取得下一行
   DataTable.SetCurrentRow(n)   //取得某一行
* m4 c- A# t) v0 \- I8 O; J  ?

3、DataTable方法GetCurrentRow    //获得当前行数
   例如:DataTable.GetCurrentRow

4、获取DataTable值
   4.1  DataTable("p_Text", dtLocalSheet)  //取得DataTable中参数名称为:p_Text的值
. Q! S4 Y/ T) m6 }6 l. j# ]  r3 c
   4.2  DataTable.GlobalSheet.GetParameter("p_Text").Value   //获取参数值方法和DataTable("p_Text", dtLocalSheet)一样
4 F) G' N# G. C( V9 {. B1 x
   例如:xname为变量,Dim xname
   xname=DataTable("p_Text", dtLocalSheet)
   xname=DataTable.GlobalSheet.GetParameter("p_Text").Value
9 @) o) v1 m5 r+ O' X# U1 r

5、DataTable.value("num")只在global形式下的一种省略形式;完整形式是:
         DataTable.value("num",dtlocalsheet)

-----向某一列的单元格赋值:
DataTable.value("column_name",dtlocalsheet)="nanjing"
8 m( c6 o  n, [  b
* e$ i7 l% O7 D/ [

7、获取对象属性名称用法:
; t8 E: K: ?' e) m; W7 Y# p0 X& e* _
GetRoProperty----从应用程序界面上获取对象属性(即,是脚本运行时,获取的对象动态属性值)
                 例如:获取对象库中index属性值,似乎只能用GetToProperty,因为应用程序界面上对象没有该属性,只是
5 }8 F  y( o0 Q3 Z; ^' R4 Q
                 QTP为识别该对象创立的描述属性;
# w8 b2 ?' Z/ R/ H. Z- ~& B
GetToproperty----从对象库中描述对象的属性,静态值
, ^- b2 {' U( N5 h
GetToProperties----获取用于标识对象的属性集;对于这个集合,有count等属性方法

8、如果弹出对话框就获取上面提示信息并与表中的信息对比,不统一证明弹出的提示出错,主要用来验证
  r/ `8 s$ [* k/ d& B
if browser("web_name").dialog("dialog_name").exIst(1) then'如果不出现=false
     error_message=browser("web_name").dialog("diaglog_name").static("用户密码错误!".getRoproperty("text")
- H, m" d4 S! a1 B7 u- ~8 g% E5 r
   if error_message<>(DataTable.value("error_info"))then
( C, x) U! J4 b& Y6 \2 e
         msgbox(error_message)
' o& f* |' \3 |/ o
      end if
6 [2 |( @% h& s
     browser("web_name").dialog("diaglog_name").close
  end if
4 O; H- s+ H1 a8 E/ _% q( M! V8 {
这里总结了两点技巧:
  一是:对于dialog中,虽然提示信息对象名称是"用户密码错误",但如果信息对象名称是“该用户不存在”,不用更改会自动识别,我想主要是录制第一遍时,“用户密码错误”只是让运行时能找到这个控制,而不管它是什么内容,因为在对象仓库中,text不是决定该对象的属性
. u# K2 y2 G( S. z
    二是:如果对于提示信息比较长的,可以用mid(error_message,n,m)取一部份特征提示信息进行验证,这样我想可以节省处理时间,又可以避免长度以及空格等字符的处理

9、数据库检查点模块:
- n# n' b# |0 {1 U: H& v
sub database_check
        set con=createobject("adodb.connection")
        con.open "Description=IBM_ODBC;DRIVER=SQL Server;SERVER=IBM;UID=sa;"&_
2 ~7 K! w2 R! h* U/ j  H1 Z
                         "PWD=123456;APP=Quick Test Pro;WS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值