QTP基礎代碼

發表于:2008-05-28來源:作者:點擊數: 標簽:代碼qtpQTP基礎
1 生產隨機數列 第一種方法 CODE: randomize'更新反回的數據 funcation rand(k,n) n=int((k-1)*rnd+1) rand=n end funcation 第二種方法 CODE: n=randomnumber.value(1,255) 2當運行到表中的某一行,自動導出表中的所有數據 CODE: row=datatable.getcurrentr

1 生產隨機數列
第一種方法

CODE:

randomize'更新反回的數據
funcation rand(k,n)
n=int((k-1)*rnd+1)
rand=n
end funcation

第二種方法

CODE:

n=randomnumber.value(1,255)

2  當運行到表中的某一行,自動導出表中的所有數據

CODE:

row=datatable.getcurrentrow
if row="5" then
  datatable.export("d:\data.xml")
end if

3

CODE:

webedit("txtpass").setsecure"sdsdf...."

如果參數化密碼,可以直接在數據表中寫入未加密的密碼,它會自動識別,即不用把setsecure改為set
4 如果彈出對話框就獲取上面提示信息并與表中的信息對比,不統一證明彈出的提示出錯,主要用來驗證

# 判斷一個窗口是否存在
if(Dialog(dialog_name).exist=true) then
else
end if
判斷一個窗口是否激活
if(window("window_name").active=true) then
else
end if
導入一個EXCEL表
datatable.Import(excel_name)'將該excel文件中的表全部導入
datatable.ImportSheet(excel_name,sheet_name)'導入excel中名字為sheet_name的sheet表
導出一個EXCEL表
datatable.ExportSheet(excel_name,sheet_name)或
datatable.ExportSheet(excel_name,sheet_index)
獲取表中當前的行數
datatable.GetCurrentRow
獲取表中總行數
datatable.GetRowCount
返回EXCEL中表的數量
DataTable.GetSheetCount
獲取運行的表中的某個值或者設置該值
DataTable.Value(colume_name,sheet_name)'獲取colume_name列中的當前光標處的值
DataTable.value(colume_name,sheet_name)=New_Value'設置新值

DataTable.GetSheet(sheet_name).GetParameter(colume_name).valueByRow(n)

判斷當前光標是否處于最后一列
iRow=datatable.getCurrentRow
if(dataTable.value(sheet_name).GetParameter(colume_name).ValueByRow(iRow)<>expected_value) then
for iRow=0 to iRow<datatable.getRowCount
rowNum=iRow
next
end if
獲取一列數據
DataTable(colume_name,sheet_name)
'一個登陸的對話框,首先為一個錯誤的判斷,后來輸入正確的值點擊button_name按鈕
Dialog(dialog_name).WinEdit(login_name).set login_wrongname
Dialog(dialog_name).WinEdit(login_pwd).set login_wrongpwd
Dialog(dialog_name).Dialog(wrongdialog_name).WinButton(button_name).click
Dialog(dialog_name).WinEdit(login_name).set login_correct_name
Dialog(dialog_name).WinEdit(login_pwd).set login_correct_pwd
Dialog(Dialog_name).WinButton(button_name).click

window的方法和屬性
window(win_name).active

 

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)取一部份特征提示信息進行驗證,這樣我想可以節省處理時間,又可以避免長度以及空格等字符的處理

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97