1 生產隨機數列
第一種方法———————————–
randomize’更新反回的數據
funcation rand(k,n)
n=int((k-1)*rnd+1)
rand=n
end funcation
第二種方法
n=randomnumber.value(1,255)
2 當運行到表中的某一行,自動導出表中的所有數據
row=datatable.getcurrentrow
if row="5" then
datatable.export("d:data.xml")
end if
3 webedit("txtpass").setsecure"sdsdf…."
如果參數化密碼,可以直接在數據表中寫入未加密的密碼,它會自動識別,即不用把setsecure改為set
4 如果彈出對話框就獲取上面提示信息并與表中的信息對比,不統一證明彈出的提示出錯,主要用來驗證
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)取一部份特征提示信息進行驗證,這樣我想可以節省處理時間,又可以避免長度以及空格等字符的處理
5 在運行時,向某一個單元格賦值: datatable.value("kai",dtlocalsheet)="nanjing"
datatable.value("num")只在global形式下的一種省略形式;完整形式
是datatable.value("num",dtlocalsheet)
—–取得某一具體行的值:
datatable.setcurrentrow(n);
msgbox(datatable.getsheet("global").getparameter("kai").Rawvalue)
或者kk=datatable.Rawvalue("kai","action1")
—–在run-time期間,添加一個action和參數
kk=datatable.addsheet("name").addparameter("kai","ddd").name’/value
6 with dialog("name")’可以省好多代碼,看著也簡潔
content=.wintreeview
end with
7 wintreeview.select(item)(根是0,列表第一個也是0)
wintreeview.getcontent
wintreeview.getitem(整行)+";"+
winlistview.getitem(行中的第一個字符段)
wincheckbox("").set"off"’/on
8 數據庫檢查點:
sub getdata
set con=createobject("adodb.connection")
con.open("descrīption=mod;driver=sqlserver;server=hpsqlserver;uid=sa;"&_
"pwd=11111;APP=qtp;WSID=hp;database=MOD31" ‘用sqlserver方式
Con.open "DRIVER = {Microsoft Access Driver (*.mdb)};DBQ=D:Testdb.mdb" ‘用access方式
set record=createobject("adodb.recordset")
sql="select * from m3_program" ‘選擇具體滿足一條件的:sql="select* from m3_program where "
record.open sql,con
if(not record.eof) then
record.movenext
msgbox("p_name")
end if
record.close
set record=nothing
con.close
set con=nothing
end sub
‘如果沒有查到內容,在結果中不會報錯,也不會彈出窗口
9 vbcr—-chr(13)回車符
vblf—-chr(10)換行符
vbcrlf—-chr(13)+chr(10)結合
10 從step run has two ways(一是在key-driven頁面,另一個是在代碼頁面,前者走完項目,后者只是本acton第一行
11 對于時間,日期等的格式檢查(一種是正則表達式,另一種是輸出對比,如果
不好對比,用mid截取一部分對比)
12對于一些列表框或樹結構,如果發生結點名稱發生變化,此時如果報沒有彼配的對象,此時可以把更改后面的名稱如_2"
13;對于動態變化的對象,要分清是對像還是屬性;對于屬性可以用gettoproperty("ddd");得到;而對于由于動態無法識別對
像可以用描述性腳本:
如:Set ōbject= Descrīption.Create()
Object("regexpwndclass").Value="HtmlButton"
Object("regexpwndtitle").Value="登陸"
browser("ss").page("a").button(Object).click
14:對于屬性是變化的,有時可以把該屬性從識別對象里刪除
15:從系統的文件中獲取信息及刪除文件
get_file_infor("c:she.mpg")
function get_file_infor(url)
dim fso,f
set fso=createobject("scrīpting.filesystemobject")
set f=fso.getfile(url)
msgbox(f.datecreated)
f.name:f.size:f.type
fso.deletefile(url)’/////刪除文件
end function
——–獲取文件夾里所有文件信息
get_folder_infor("c:kai")
function get_folder_infor(folder)
dim fso,f,f1,n
set fso=createobject("scrīpting,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
16,四舍五入可以在后面+0.5,進行自動解決
17,y=——-waitproperty("visible",true,10000)
18,on error resume next
on error goto o
19 window("").wintreeview("systreeview32").TYpe micctrldown+"p"+micctrlup
20,定義數組 name=array(1,2,"aa","bb");name(0)=1
21進行日期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])|(1d)|(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)
文章來源于領測軟件測試網 http://www.kjueaiud.com/