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

发表于:2011-09-29来源:未知作者:领测软件测试网采编点击数: 标签:数据库
一、前提 使用QTP测试数据输入是否成功。 在本例中使用三个办法:1、检查页面显示的记录条数;2、根据关键字检查数据库中数据;3、检查页面显示的最后一行数据是否为新增的数据。

  一、前提

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

原文转自:http://www.ltesting.net