好记性不如烂笔头,日志中记录了本人学习时遇到的知识点,方便自己回顾所学,也给有需要的童孩提供参考。欢迎大家阅读,并提出宝贵意见。
QTP:灵活测试查询功能
上一篇 /
下一篇 2013-03-20 15:59:54
/ 个人分类:QTP技术
QTP测试查询功能,本人推荐两种方法:1、通过屏幕截图;2、通过
数据库查询。
1、通过屏幕截图
屏幕截图是最快捷的方法,但是脚本运行完之后要一张张图分析查询结果,比较麻烦。
屏幕截图函数:
Desktop.CaptureBitmap “D:\截图\1.jpg”, true |
屏幕截图使用起来时需要使用随机数做为图片名称,在此也把随机函数贴出来
'============================================= '名称:QTP_GetUniqueNumber '作用:通过年月日秒,获取唯一值 '============================================= Function QTP_GetUniqueNumber() Dim yy,mm,dd,ss Dim nowtime nowDate = date nowTimer = cstr(int(timer)) yy = CStr(Mid(Year(nowDate),3,2)) mm = CStr(String(2 - Len(Month(nowDate)) , "0") & Month(nowDate)) dd = CStr(String(2 - Len(Day(nowDate)) , "0") & Day(nowDate)) ss = CStr(String(5 - Len(nowTimer) , "0") & nowTimer) QTP_GetUniqueNumber = yy & mm & dd & ss End Function
|
2、通过数据库查询
查询功能很多时候查询出的是一个webTable,这时我们可以获取表格里的某个唯一值并通过与数据库中查询的内容作对比来验证查询出的内容是否正确。
使用该方法时,同学们需要会写
SQL,范例:
Browser("管理系统").Page("客户工单查询").WebButton("高级查询").Click Browser("管理系统").Page("客户工单高级查询").Sync Browser("管理系统").Page("客户工单高级查询").WebEdit("站点名称").Set"" Browser("管理系统").Page("客户工单高级查询").WebEdit("外协单位").Set"广州" Browser("管理系统").Page("客户工单高级查询").WebButton("开始查询").Click Browser("管理系统").Page("客户工单查询").Sync order_no= Browser("管理系统").Page("客户工单查询").WebTable("name:=wr_c1").GetCellData(1,2)'获取第一行的工单编号 sql=" SELECT PATINDEX('%广州%', (select name from dbo.assist where id=(select aid from dbo.workorder_assist where wid =(select id from dbo.workorder where order_no='"&order_no&"'))))as 'ReData'" QTP_CheckSearch "客户工单查询_外协单位_广州",sql,"ReData"
|
QTP_CheckSearch函数:
'============================================= '名称:QTP_CheckSearch '作用:验证查询结果是否正确,并在报告中输出验证结果 '参数:searchFor:查询的内容;sql:sql查询语句 columnName:查询出的列名 '============================================== Public Function QTP_CheckSearch(SearchFor,sql,columnName) Re=QTP_SQLselect(sql,columnName) If Re=0 Then Reporter.ReportEvent micFail,SearchFor,"不通过,返回值为:"&Re else Reporter.ReportEvent micPass,SearchFor,"通过" End If End Function
|
QTP_SQLselect函数:
======================================== '名 称:QTP_SQLselect '作 用:查询数据库并返回值 '参 数:sql:SQL语句,columnName:列名 '返回值:返回查询出的值 '调用: 'sqlselect="select id from acct_user where name like '李浩%'" 'QTP_SQLselect(sqlselect,id) '======================================== Public Function QTP_SQLselect(sql,columnName) '以下是数据库操作 Dim rs,sq,pkey set conn=createobject("adodb.connection") set rs=createobject("adodb.recordset") '下面数据库驱动语句,可以通过新建.udl文件连接数据库后获得 conn.open="Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=HXOMS;Data Source=192.168.0.232" rs.open sql,conn i=1 do while not rs.eof values1=rs(columnName) i=i+1 rs.movenext Loop rs.close set rs=nothing conn.close set conn=nothing QTP_SQLselect=values1 End Function
|
在
学习及使用QTP时,陈达龙给了本人很多帮助,在此给出大师博客地址:www.cydtest.com
对QTP有兴趣的童鞋可以上去查询大师的
日志,里面有相当多实用的内容。
收藏
举报
TAG:
QTP