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

发表于:2008-10-28 16:43

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing博客转载

#
QTP

  一、前提

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

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

相关阅读

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号