1、Datatable方法GetRowCount
DataTable.GetSheet("Action1").GetRowCount //獲取總行數
使用如:
CountNum=DataTable.GetSheet("Action1").GetRowCount
2、Datatable方法SetNextRow
DataTable.GetSheet("Action1").SetNextRow //取得下一行
datatable.setcurrentrow(n) //取得某一行
3、Datatable方法getcurrentrow //獲得當前行數
例如:datatable.getcurrentrow
4、獲取datatable值
4.1 DataTable("p_Text", dtLocalSheet) //取得datatable中參數名稱為:p_Text的值
4.2 DataTable.GlobalSheet.GetParameter("p_Text").Value //獲取參數值方法和DataTable("p_Text", dtLocalSheet)一樣
例如:xname為變量,dim xname
xname=DataTable("p_Text", dtLocalSheet)
xname=DataTable.GlobalSheet.GetParameter("p_Text").Value
5、datatable.value("num")只在global形式下的一種省略形式;完整形式是:
datatable.value("num",dtlocalsheet)
-----向某一列的單元格賦值:
datatable.value("column_name",dtlocalsheet)="nanjing"
6、字符轉換Cstr
dim mm
Cstr(mm)
7、獲取對象屬性名稱用法:
GetRoProperty----從應用程序界面上獲取對象屬性(即,是腳本運行時,獲取的對象動態屬性值)
例如:獲取對象庫中index屬性值,似乎只能用GetToProperty,因為應用程序界面上對象沒有該屬性,只是
QTP為識別該對象創立的描述屬性;
GetToproperty----從對象庫中描述對象的屬性,靜態值
GetToProperties----獲取用于標識對象的屬性集;對于這個集合,有count等屬性方法
8、如果彈出對話框就獲取上面提示信息并與表中的信息對比,不統一證明彈出的提示出錯,主要用來驗證
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)取一部份特征提示信息進行驗證,這樣我想可以節省處理時間,又
可以避免長度以及空格等字符的處理
9、數據庫檢查點模塊:
sub database_check
set con=createobject("adodb.connection")
con.open "Descrīption=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
10、"is+*"類型function
isarray'是否是數組
isconnected'判斷QTP是否連接到TD
isdate'是否是合法的日期類型
isempty'判斷是否初始化
isNull'判斷是否為空值
isNumeric'判斷是否是數字型
isobject'判斷是否一個功能對象
isready'判斷設備是否準備就緒
isRootFolder'是否是根目錄
11、for方法1,參數化時選擇:dtLocalSheet
Dim CountNum
CountNum=DataTable.GetSheet("Action1").GetRowCount
For i=0 to CountNum-1
----xunhuanti------
DataTable.GetSheet("Action1").SetNextRow //使用SetNextRow方法
Next
12、for方法2,參數化時選擇:dtLocalSheet
dim countNum
countNum = DataTable.GetSheet("Action1").GetRowCount
For i=1 to countNum
DataTable.GetSheet("Action1").SetCurrentRow(i) //使用SetCurrentRow(i)方法
―――ddd―――
next
13、while方法1,參數化時選擇:dtLocalSheet
Dim CountNum,i
i=1
CountNum=DataTable.GetSheet("Action1").GetRowCount
While i<=CountNum
------xuhuanti---
DataTable.GetSheet("Action1").SetNextRow
i = i+1
Wend
14、while方法2,參數化時選擇:dtLocalSheet
Dim CountNum,i
i=1
CountNum=DataTable.GetSheet("Action1").GetRowCount
While i<=CountNum
DataTable.GetSheet("Action1").SetCurrentRow(i)
----xuhuanti---
i = i+1
Wend
文章來源于領測軟件測試網 http://www.kjueaiud.com/