一、前提
使用QTP测试数据输入是否成功。
在本例中使用三个办法: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