QTP数据表数据库操作

上一篇 / 下一篇  2009-07-27 21:20:30 / 个人分类:QTP

  • 文件版本: V1.0
  • 开发商: 本站原创
  • 文件来源: 本地
  • 界面语言: 简体中文
  • 授权方式: 免费
  • 运行平台: Win9X/Win2000/WinXP
1、Datatable方法GetRowCount
J3bU(E.o U9W @0   DataTable.GetSheet("Action1").GetRowCount   //获取总行数
gF-|:QS GB l w0使用如:51Testing软件测试网 \ X1?Q'O%h G
CountNum=DataTable.GetSheet("Action1").GetRowCount

)zDg4?7[8e02、Datatable方法SetNextRow
#iG4ig.F u6tB Z0   DataTable.GetSheet("Action1").SetNextRow     //取得下一行51Testing软件测试网-}UQ LQ
   datatable.setcurrentrow(n)   //取得某一行51Testing软件测试网#GFr"S+U&@

51Testing软件测试网S4ck U9H

3、Datatable方法getcurrentrow    //获得当前行数51Testing软件测试网dZ M;r3[7D
   例如:datatable.getcurrentrow51Testing软件测试网oM.\-q g;D:J p J

51Testing软件测试网(E(X"q9WA4oL#tlU

4、获取datatable值51Testing软件测试网/Q&BZ'}Y*_ E
   4.1 DataTable("p_Text", dtLocalSheet) //取得datatable中参数名称为:p_Text的值
!l I(|1r:|`0   4.2 DataTable.GlobalSheet.GetParameter("p_Text").Value   //获取参数值方法和DataTable("p_Text", dtLocalSheet)一样
X6n+Q$Z @ T;J6nx,a*I0   例如:xname为变量,dim xname
&~z o+fpoR']0   xname=DataTable("p_Text", dtLocalSheet)51Testing软件测试网#xBJ8Il7h,RP
   xname=DataTable.GlobalSheet.GetParameter("p_Text").Value

K$Q}&s:Ej a#Bq0g-v0

a"j1e4Z{EC05、datatable.value("num")只在global形式下的一种省略形式;完整形式是:
$T c*N5~G/TM0datatable.value("num",dtlocalsheet)51Testing软件测试网Q7Z%s2zk

"y N gR}-d0-----向某一列的单元格赋值:51Testing软件测试网Ck#v;{[TY
datatable.value("column_name",dtlocalsheet)="nanjing"

v+Qn$WE+yMr0

/n!nS%Gr]8Y.V06、字符转换Cstr51Testing软件测试网c1|4BU/_Hn`+d*K a
   dim mm
X|*X1Pj.{ ?0   Cstr(mm)

/M`$R)S.]'e:D,uF5O O0

h%y7L5d7y$K"l }3d07、获取对象属性名称用法:51Testing软件测试网4E;X1_%B(q5x
GetRoProperty----从应用程序界面上获取对象属性(即,是脚本运行时,获取的对象动态属性值)
^8[k[S!e0           例如:获取对象库中index属性值,似乎只能用GetToProperty,因为应用程序界面上对象没有该属性,只是
2Q \!K] C^0      QTP为识别该对象创立的描述属性;51Testing软件测试网YG f#~5UvX.zs c
GetToproperty----从对象库中描述对象的属性,静态值51Testing软件测试网)v1bdt)[U)k M
GetToProperties----获取用于标识对象的属性集;对于这个集合,有count等属性方法51Testing软件测试网0ti#h\.[GR4N#|

^FM(r%R ]-L5K"J08、如果弹出对话框就获取上面提示信息并与表中的信息对比,不统一证明弹出的提示出错,主要用来验证
u(Xi@(dn0if browser("web_name").dialog("dialog_name").exist(1) then'如果不出现=false
l AbPLyDE0     error_message=browser("web_name").dialog("diaglog_name").static("用户密码错误!".getRoproperty("text")
Rr;K*b$eI0   if error_message<>(datatable.value("error_info"))then51Testing软件测试网)[9Ml{%w(b
         msgbox(error_message)51Testing软件测试网#C:\C(o}"K\lF
      end if51Testing软件测试网"By8I;c3_
     browser("web_name").dialog("diaglog_name").close51Testing软件测试网$yc e3t w.a8L
end if51Testing软件测试网Ps*}#A:r3Z!X)av
这里总结了两点技巧:51Testing软件测试网[4Xm"@5qSH9Z$Q
  一是:对于dialog中,虽然提示信息对象名称是"用户密码错误",但如果信息对象名称是“该用户不存在”,不用更改会自动识别,我

8}4mZ;]Y0XQH-~p(K0

6pO fUbs'uf1AG0想主要是录制第一遍时,“用户密码错误”只是让运行时能找到这个控制,而不管它是什么内容,因为在对象仓库中,text不是决定该对象51Testing软件测试网FU-[k{

51Testing软件测试网_6q1_+zT6f4t+x

的属性51Testing软件测试网&p+A4l*X[ _ MLV
    二是:如果对于提示信息比较长的,可以用mid(error_message,n,m)取一部份特征提示信息进行验证,这样我想可以节省处理时间,又

u*[m(y0zO`_uR M0

"H r2M eby0可以避免长度以及空格等字符的处理

NI5g;z(e1~|/e051Testing软件测试网T B*^1E5xM`'f

9、数据库检查点模块:
+vP M@W0sub database_check51Testing软件测试网w J m~*v r~*{
set con=createobject("adodb.connection")
lrr:xB+S2cK0con.open "Descrīption=IBM_ODBC;DRIVER=SQLServer;SERVER=IBM;UID=sa;"&_51Testing软件测试网 y rM0e0n'oC
                 "PWD=123456;APP=Quick Test Pro;WSID=IBM;DATABASE=IBM_table"51Testing软件测试网ZJy,Co9_
'access方式:con.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\test.mdb"51Testing软件测试网j*m:o S+zf'mX3`
'Orocle 方式:con.open "DRIVER={Oraclein

AV#I ]{i/P({0

6L?!\V/GGMy&wA0OraHome92};SERVER=CESHI;UID=CND_TEST;PWD=CND;DBQ=CESHI;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T51Testing软件测试网!x Y&s-|-{D \G4M|A

`8gA[o'F0;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;"
n{P t)eH0set record=createobject("adodb.recordset")51Testing软件测试网T fr0O(]1Aip
sql="select*from ibm_one_table"51Testing软件测试网|"s0Q~-x0n3k;E q
record.open sql,con
9}|I T%?(x0DO
!m K(e-lU*}[0if(record("ibm_table_column")="kai")then'//查找表格中有多少kai51Testing软件测试网7Br?h)g#Y.U2b
num=num+1;
)?-HK/]'s,k0end if
$jl6x JANbq0record.movenext51Testing软件测试网|o(mFd*P2c
loop until record.eof=true
[|lUh%R:w-?%N0record.close
*w*Gm ad o0set record=nothing
9D;~j rNH~r0con.close51Testing软件测试网OTSd/R1s B
set con=nothing
,V%Uk/j"`h!RK/k.W0end sub

i7Z,_.H @tmR051Testing软件测试网/C|/l} x j4K

10、"is+*"类型function51Testing软件测试网4q$xY"|:m|
isarray'是否是数组51Testing软件测试网8ncJ*y#q*S
isconnected'判断QTP是否连接到TD51Testing软件测试网U2b2w bfp
isdate'是否是合法的日期类型
$W-n&Y%T s4dR0isempty'判断是否初始化51Testing软件测试网 u Y T_U,m)x
isNull'判断是否为空值51Testing软件测试网IK;e?'~ {LY T
isNumeric'判断是否是数字型51Testing软件测试网ul5d.q |(b:FU
isobject'判断是否一个功能对象51Testing软件测试网3o X$U"}%^9^bf{ n;e.D
isready'判断设备是否准备就绪
7}CA:xv$F0isRootFolder'是否是根目录51Testing软件测试网3C w-`{*wN'j1_d@%z;R

YwA d,{#X$jDb011、for方法1,参数化时选择:dtLocalSheet
r/ry-oZ N0Dim CountNum51Testing软件测试网8GVe8Pm*~U
CountNum=DataTable.GetSheet("Action1").GetRowCount
`DK3o e ~({0For i=0 to CountNum-1
`%G8p-d$zj,B0----xunhuanti------
l"km+man]5u:W0DataTable.GetSheet("Action1").SetNextRow    //使用SetNextRow方法51Testing软件测试网 md!o#HA5q gx
Next51Testing软件测试网'~]J7C-l1En O

J6k(H1x+Q/T*a012、for方法2,参数化时选择:dtLocalSheet
$a wF!V;C6j/d0RM&^0dim countNum51Testing软件测试网@ wKH vV7_
countNum = DataTable.GetSheet("Action1").GetRowCount
2S i T X`(CM8C0For i=1 to countNum
,`Wl s(}0DataTable.GetSheet("Action1").SetCurrentRow(i) //使用SetCurrentRow(i)方法
9S#O-?mu%p0―――ddd―――51Testing软件测试网+P@8T\0a[ml
next
PH/d6dO7L;M R013、while方法1,参数化时选择:dtLocalSheet
&E2Va4jd} yR&J0Dim CountNum,i
*bb.nrB*\ \U|0i=1
:MQ^"y u0CountNum=DataTable.GetSheet("Action1").GetRowCount51Testing软件测试网Rl2BA3B0i$[ Wt
While i<=CountNum
z h?gn1U#yH9N:d4C8Y0------xuhuanti---
NW1i5nx5yV"Z0DataTable.GetSheet("Action1").SetNextRow
/@ ib!`L `ji0i = i+151Testing软件测试网+W5~@z ?8K'h5H_
Wend51Testing软件测试网2HV;y&v&YB o/qu

51Testing软件测试网#{z8y z-Th#o+A

14、while方法2,参数化时选择:dtLocalSheet51Testing软件测试网4}n%_{%y+Rw
Dim CountNum,i
7WaT:oW ~D\GU0i=151Testing软件测试网Z5S:tpx T
CountNum=DataTable.GetSheet("Action1").GetRowCount
S)V)`(o5mQ;~0While i<=CountNum51Testing软件测试网9r|L Je q IYl*Q

`!a*}2_b q-@/v%g0DataTable.GetSheet("Action1").SetCurrentRow(i)51Testing软件测试网r!o1^ ^O7U
----xuhuanti---51Testing软件测试网(eD/B2A+T3G7Z"F;M
i = i+151Testing软件测试网0i7[gJd^
Wend51Testing软件测试网1mS\'q,D,G*Q9s~ t0`

TAG:

 

评分:0

我来说两句

Open Toolbar