一、前提
在本例中使用三個辦法:1、檢查頁面顯示的記錄條數;2、根據關鍵字檢查數據庫中數據;3、檢查頁面顯示的最后一行數據是否為新增的數據。
二、方法及過程
1、錄制正常數據錄入并保存過程的腳本
2、在數據保存完,數據列表顯示出來后進行檢查,定義文本檢查、數據庫檢查(內容見腳本中的說明)
3、修改腳本,實現數據庫數據按數據表關鍵字檢查
如輸入編號為001的學生,檢查是否存入了數據庫,并使用腳本依次取得數據表的關鍵字進行數據庫檢查。
4、當數據庫數據保存成功時,檢查數據是否正常顯示
三、測試腳本
開始錄入新增數據,所需要錄入的數據存放在數據表中,循環執行測試,輸入多組數據
Browser("學生信息管理系統").Page("學生資料列表首頁").Link("新增").Click
Browser("學生信息管理系統").Page("新增學生資料頁面").WebEdit("studID").Set DataTable("stu_ID", dtLocalSheet)
Browser("學生信息管理系統").Page("新增學生資料頁面").WebEdit("studName").Set DataTable("stu_name", dtLocalSheet)
Browser("學生信息管理系統").Page("新增學生資料頁面").WebEdit("age").Set DataTable("stu_age", dtLocalSheet)
Browser("學生信息管理系統").Page("新增學生資料頁面").WebButton("保 存").Click
'保存后即回到列表顯示頁面
Browser("學生信息管理系統").Refresh '保證新錄入數據后顯示出來,正常情況下,不需要該刷新顯示的操作
'檢查頁面顯示的記錄數是否新增,根據頁面下端顯示的記錄數進行文本檢查,正確數據存放在數據表中
Browser("學生信息管理系統").Page("學生資料列表最后一頁").Check CheckPoint("8")
rem 檢查數據庫檢索結果是否與輸入的數據一致
Browser("學生信息管理系統").Page("學生資料列表首頁").Link("最后一頁").Click
' 根據數據表的數據,設置數據庫檢索參數
Dim sql
' 取得數據庫檢查點的SQL語句
sql = DbTable("DbTable").GetTOProperty ("Source")
Dim e_w
' 取得SQL語句中條件的位置
e_w = inStr(sql,"=")
' 使用DataTable("stu_ID", dtLocalSheet)取得當前參數表中的關鍵字,使用該關鍵字在數據庫中檢索數據
sql = mid(sql,1,e_w ) + "'" + DataTable("stu_ID", dtLocalSheet) + "')"
DbTable("DbTable").SetTOProperty "Source", sql
' 可以使用msgbox sql查看SQL語句是否正確
Dim row
Dim stu_id,stu_name
'數據庫檢查點建立時,以任意關鍵字檢索一行需要檢查的數據,本例檢查編號和姓名
If DbTable("DbTable").Check (CheckPoint("DbTable_5")) Then '如果從數據庫檢索的數據和數據表的數據一致
從表對象(設計此程序前,手工從頁面獲取該WEB表對象)的最后一頁取得最后一行的編號和姓名
row = Browser("學生信息管理系統").Page("學生資料列表最后一頁").WebTable("學生資料").RowCount
stu_id = Browser("學生信息管理系統").Page("學生資料列表最后一頁").WebTable("學生資料").GetCellData(row,3)
stu_name = Browser("學生信息管理系統").Page("學生資料列表最后一頁").WebTable("學生資料").GetCellData(row,4)
'將取得的表對象的編號和姓名與數據表中的數據進行比較
If stu_id = DataTable("stu_ID", dtLocalSheet) and stu_name = DataTable("stu_name", dtLocalSheet) Then
Else
reporter.ReportEvent 1,"新增學生信息錯誤","信息存入數據庫,但數據沒有在保存后立即顯示,數據編號:"+ DataTable("stu_ID", dtLocalSheet)
End If
Else
reporter.ReportEvent 1,"新增學生信息錯誤","信息沒有存入數據庫,可能是關鍵字重復或其他問題,數據編號:"+ DataTable("stu_ID", dtLocalSheet)
End If
Browser("學生信息管理系統").Page("學生資料列表最后一頁").Sync
原文轉自:http://www.anti-gravitydesign.com