第一種方法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'是不是根目錄