UML软件工程组织

 

 

QTP数据库检查和WEB表格数据检查

2008-10-30 来源:网络

 

一、前提

使用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

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号