第一种方法web
CODE:正则表达式
randomize'更新反回的数据
funcation rand(k,n)
n=int((k-1)*rnd+1)
rand=n
end funcationsql
第二种方法数据库
CODE:express
n=randomnumber.value(1,255)数组
CODE:app
row=datatable.getcurrentrow
if row="5" then
datatable.export("d:\data.xml")
end ifdom
CODE:oop
webedit("txtpass").setsecure"sdsdf...."ui
若是参数化密码,能够直接在数据表中写入未加密的密码,它会自动识别,即不用把setsecure改成set
CODE:
if browser("web_name").dialog("dialog_name").exist(1) then'若是不出现=false error_message=browser("web_name").dialog("diaglog_name").static("用户密码错误!".getRoproperty("text") if error_message<>(datatable.value("error_info"))then msgbox(error_message) end if browser("web_name").dialog("diaglog_name").close end if
这里我总结了两点技巧:
一是:对于dialog中,虽然提示信息对象名称是"用户密码错误",但若是信息对象名称是“该用户不存在”,不用更改会自动识别,我想主要是录制第一遍时,“用户密码错误”只是让运行时能找到这个控制,而无论它是什么内容,由于在对象仓库中,text不是决定该对象的属性
二是:若是对于提示信息比较长的,能够用mid(error_message,n,m)取一部份特征提示信息进行验证,这样我想能够节省处理时间,又能够避免长度以及空格等字符的处理
datatable.value("num")只在global形式下的一种省略形式;完整形式
是:
CODE:
datatable.value("num",dtlocalsheet)
-----向某一列的单元格赋值:
CODE:
datatable.value("column_name",dtlocalsheet)="nanjing"
-----取得某一行具体值:
CODE:
datatable.setcurrentrow(n)
msgbox(datatable.getsheet("global").getparameter("column_name").Rawvalue)
或者kk=datatable.Rawvalue("column_name","action1")
----在run-time时,动态添加表格与数据
CODE:
kk=datatable.addsheet("sheet_name").addparameter("column_name","value").name;
CODE:
with Dialog("name")
c1=.button("b_name").click'//等价于Dialog("name").button("b_name").click
end with
CODE:
选择一个条目:wintreeview.select(item)'根是0
根的名称:wintreeview.getitem(0)
CODE:
sub database_check set con=createobject("adodb.connection") con.open "Description=IBM_ODBC;DRIVER=SQL Server;SERVER=IBM;UID=sa;"&_ "PWD=123456;APP=Quick Test Pro;WSID=IBM;DATABASE=IBM_table" 'access方式:con.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\test.mdb" 'Orocle方式:con.open "DRIVER={Oracle in OraHome92};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=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;" set record=createobject("adodb.recordset") sql="select*from ibm_one_table" record.open sql,con DO if(record("ibm_table_column")="kai")then'//查找表格中有多少kai num=num+1; end if record.movenext loop until record.eof=true record.close set record=nothing con.close set con=nothing end sub
CODE:
vbcr----chr(13)回车符
vblf----chr(10)换行符
vbcrlf----chr(13)+chr(10)结合
CODE:
在Keyword View模式会从本步骤运行到全部action结束
在expert view模式仅会将本action运行结束
CODE:
-------从系统的文件中获取信息及删除文件 get_file_infor("c:\she.mpg") function get_file_infor(url) dim fso,f set fso=createobject("scripting.filesystemobject") set f=fso.getfile(url) f.name:f.size:f.type:f.datacreated'///获取文件信息 fso.deletefile(url)'/////删除文件 end function --------获取文件夹里全部文件信息 get_folder_infor("c:\kai") function get_folder_infor(folder) dim fso,f,f1,n set fso=createobject("scripting,filesystemobject") set f=fso.getfolder(folder) set fc=f.files for each f1 in fc select case f1.name case"kai.mpg","she.mpg","dd.mp3"'//检查文件夹里是否含有这些文件 end select next end function
CODE:
y=......waitproperty("visible",true,10000)
CODE:
On error resume next
On error goto handle
CODE:
name=array(1,2,"aa","bb")
name(2)="aa"
CODE:
进行日期YYYY-MM-DD的格式检查 :
Function RegExpTest(patrn, strng) Dim regEx, Match, Matches ' Create variable. Set regEx = New RegExp ' Create a regular expression. regEx.Pattern = patrn ' Set pattern. regEx.IgnoreCase = True ' Set case insensitivity. regEx.Global = True ' Set global applicability. Set Matches = regEx.Execute(strng) ' Execute search. For Each Match in Matches ' Iterate Matches collection. RetStr = RetStr & "Match found at position " RetStr = RetStr & Match.FirstIndex & ". Match Value is '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next RegExpTest = RetStr End Function date_pattern="^((((19|20)(([02468][048])|([13579][26]))-02-29))|((20[0-9][0-9])|(19[0-9][0-9]))-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((01,3-9])|(1[0-2]))-(29|30)))))$" result_message=RegExpTest(date_pattern, inputbox("请你输入要检查的时间:"))'用其它正则表达式更改此处 Select case result_message Case "" msgbox("你输入的日期格式与标准不匹配") case else MsgBox(result_message) end select
CODE:
instr(string1,string2)
CODE:
举例说明1:
好比:你录制一个选择磁盘中的文件动做
会录制为:
.winlistview(" ").drap 46,99
.winlistview(" ").draponitem "she.mp3"
下次录制的时候,若是你的系统文件改成不显示扩展名,下次执行的时候,QTP就找不到she.mp3,只能找到she;
举例说明2:
有时因为不一样操做系统以及不一样的ie,致使有些窗口不能识别,好比在2000下弹出的网页对话框的标题是:
“web对话框",而在2003上是”网页对话框"
CODE:
isarray'是不是数组 isconnected'判断QTP是否链接到TD isdate'是不是合法的日期类型 isempty'判断是否初始化 isNull'判断是否为空值 isNumeric'判断是不是数字型 isobject'判断是否一个功能对象 isready'判断设备是否准备就绪 isRootFolder'是不是根目录