QTP自动化测试:高人学习笔记分享

需积分: 0 1 下载量 185 浏览量 更新于2024-11-06 收藏 63KB DOC 举报
"QTP 高人学习笔记,包含连接数据库查询和断言验证的实例" 在自动化测试领域,QuickTest Professional(QTP)是一款广泛使用的功能自动化测试工具,尤其适用于回归测试和数据驱动测试。本资源是高人分享的QTP学习笔记,适合初学者和进阶者参考。以下是对笔记内容的详细解读: 笔记首先展示了如何通过QTP进行数据库连接和数据查询的示例,用于验证应用系统的功能是否符合预期。具体步骤如下: 1. **输出记录数值**:使用`OutputCheckPoint`方法输出页面上特定对象(如控件)的值,例如"78",这通常是系统执行某个操作后显示的记录数量。 ```vb Browser("湛江信息化测试登录").Page("湛江东兴石油企业有限公司办公自动化系统") .Frame("mainFrame").OutputCheckPoint("78") ``` 2. **获取输出的记录数值**:在VBS脚本中,使用变量`mm`存储这个数值。这里可以有两种方式获取,一种是直接从数据表(DataTable)中读取,另一种是从页面对象的输出检查点中获取。 ```vb 'mm=DataTable.GlobalSheet.GetParameter("mainFrameOutput_Text_out").Value mm=DataTable("mainFrameOutput_Text_out",dtGlobalSheet) MsgBox mm ``` 注释中提到了两种不同的方式从数据表中获取参数,可以根据实际需求选择。 3. **连接数据库并查询记录数**:创建`ADODB.Recordset`和`ADODB.Command`对象,设置命令类型为SQL查询(CommandType=1),并编写SQL语句来获取满足特定条件的记录数。 ```vb Dim res, cmd, sql Set res = CreateObject("adodb.recordset") Set cmd = CreateObject("adodb.command") Cmd.ActiveConnection = "your_connection_string" '需替换为实际的数据库连接字符串 Cmd.CommandType = 1 sql = "select count(*) from oa_receivebumf where BUMFNAME like '%收文测试%'" Cmd.CommandText = sql Set res = Cmd.Execute() ``` 4. **断言验证**:将查询到的记录数与之前输出的数值进行比较,如果相等,则表示测试成功;如果不等,则测试失败,并通过`Reporter.ReportEvent`报告测试结果。 ```vb If Cstr(res(0)) = Cstr(mm) Then Reporter.ReportEvent micPass, "test", "查询成功" Else Reporter.ReportEvent micFail, "test", "查询失败,记录数不符" End If ``` 这段代码中,`micPass`和`micFail`分别代表测试通过和测试失败的事件类型,`Reporter.ReportEvent`用于在测试报告中记录事件详情。 这个例子中,高人通过实际操作演示了如何结合QTP和数据库操作进行功能测试,这对于理解和掌握QTP的数据库交互以及断言验证技巧非常有帮助。同时,他还给出了关于如何从数据表中读取参数的示例,这对于数据驱动测试也是至关重要的。通过学习这个笔记,你可以提升自己在QTP测试自动化中的技能,特别是涉及数据库验证的部分。