![常用QTP函数合集[教学知识]_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-5/17/48fd9bed-84f6-4c91-935c-f3b5c608a007/48fd9bed-84f6-4c91-935c-f3b5c608a0071.gif)
![常用QTP函数合集[教学知识]_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-5/17/48fd9bed-84f6-4c91-935c-f3b5c608a007/48fd9bed-84f6-4c91-935c-f3b5c608a0072.gif)
![常用QTP函数合集[教学知识]_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-5/17/48fd9bed-84f6-4c91-935c-f3b5c608a007/48fd9bed-84f6-4c91-935c-f3b5c608a0073.gif)
![常用QTP函数合集[教学知识]_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-5/17/48fd9bed-84f6-4c91-935c-f3b5c608a007/48fd9bed-84f6-4c91-935c-f3b5c608a0074.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、常用QTP函数合集*有用的没用的都丢到一起,可能会有你想要的,原本是分为FileOper、DataOper、WebOper(基于SAFFRON)、Win32Oper和ErrorOper五个文件后面三个超级啰嗦超级长的废物可能别人用不到,不过构造思路比较清晰,大家可以DIY一下,或许你会觉得很方便,至少可以不用CheckPoint*classArray = Split(Browser,Page,Frame,)descArray = Split(micclass:=Browser,micclass:=Page,micclass:=Frame,)objectArray = Split(Link,We
2、bButton,WebList,WebEdit,Image, ,)objectDescArray =Split(micclass:=Link,micclass:=WebButton,micclass:=WebList,micclass:=WebEdit,micclass:=Image, ,)*设计说明:关闭所有打开的IE程序输入:程序输出:设计人员:LIUYI027设计时间:2011-01-08调用举例:CloseBrowsers*Public Sub CloseAllBrowserSet Wshshell = CreateObject(Wscript.Shell)Set DialogObje
3、ct = Description.Create()DialogObject(micclass).Value = DialogSet Windows32Dialog = Desktop.ChildObjects(DialogObject)dlNum = Windows32Dialog.Count - 1For v = 0 to dlNumWindows32Dialog(v).CloseNextSet Windows32Dialog = NothingSet theBrowser = Browser(micclass:=Browser, index:=0)While theBrowser.Exis
4、t(0)theBrowser.Close有些系统页面可能在关闭的时候会有提示对话框出现waitNx = 1Do While waitNx 0 ThenWindow(regexpwndclass:=IEFrame,index:=0,text:=&wndTitle&.*).MaximizeElseWindowsBrowser(i).MaximizeEnd IfSet ObjectBrowser = NothingNextSet WindowsBrowser = NothingSet BrowserObject = NothingEnd Sub*设计说明:根据对象属性列表和属性值列表匹配Browse
5、r对象,该函数基本无用 程序输入:对象属性列表和属性值列表,列表使用英文半角的逗号分隔程序输出:创建对象设计人员:LIUYI027设计时间:2011-01-08调用举例:GenerateBrowserObject(name,title,保险业务管理系统,保险业务管理系统)*Public Function GenerateBrowser(p_Attlist,p_Keylist)AttArray = Split(p_Attlist,)KeyArray = Split(p_Keylist,)exeStr = Browser(If UBound(AttArray) UBound(KeyArray) T
6、henReportFail,使用GenerateBrowserObject函数参数输入错误,对象属性的个数应该与其对应的属性值个数相等!Exit FunctionEnd IfFor inx = 0 to UBound(AttArray)exeStr =exeStr&Chr(34)&AttArray(inx)&:=.*&KeyArray(inx)&.*&Chr(34)&,NextExecute Set MyObject = &exeStr&Quote(index:=0)&)If MyObject.Exist(0) ThenReportPass,使用GenerateBrowserObject函数构
7、造对象成功,按照Browser对象属性列表【&p_Attlist&】,属性值列表【&p_Keylist&】,生成Browser对象成功!ElseReportFail,使用GenerateBrowserObject函数构造对象失败,按照Browser对象按照属性列表【&p_Attlist&】,属性值列表【&p_Keylist&】,匹配Browser对象失败!ExitRunEnd IfSet GenerateBrowser = MyObjectEnd Function*设计说明:初始化所有打开的Browser页面,不厌设计复杂只为稳定高效程序输入:无程序输出:初始化成功或者失败设计人员:LIUYI
8、027设计时间:2011-01-08调用举例:BrowserSync*Public Function SyncronizeBrowser()Set MyBrowser = Browser(micclass:=Browser, index:=0)If MyBrowser.Exist(0) ThenMyBrowser.SyncDo Until MyBrowser.GetROProperty(url) AndMyBrowser.GetROProperty(name) Delay 50LoopElseSet MyBrowser = NothingSyncronizeBrowser = FalseRep
9、ort Warning ,初始化页面失败,页面初始化失败,需要重新操作!Exit FunctionEnd IfSet MyBrowser = NothingSyncronizeBrowser = TrueEnd Function*设计说明:打开指定的地址,并且初始化页面,特别说明:对于地址栏出现一次性sessionid的网页不可用该函数程序输入:url地址程序输出:初始化成功或者失败设计人员:LIUYI027设计时间:2011-01-08调用举例:print SyncronizeSepecifiedURL()*Public Function NavigateBrowser(para_myuri
10、)CloseAllBrowserSet IEBrowser = CreateObject(InternetExplorer.Application)IEBrowser.Visible = TrueIEBrowser.Navigate para_myuriSet ObjectBrowser = Browser(micclass:=Browser, index:=0)Do Until SyncronizeBrowser() = TrueWait(1)Loopactualurl = ObjectBrowser.GetROProperty(url)下面这个判断主要是为了解决初始化地址跳转问题,如果UR
11、L发生变化会导致对象属性发生变化从而导致运行错误。If actualurl para_myuri ThenObjectBrowser.CloseSet IEBrowser = NothingSet IEBrowser = CreateObject(InternetExplorer.Application)IEBrowser.Visible = TrueIEBrowser.Navigate actualurlIf Not SyncronizeBrowser() ThenReportWarning,使用NavigateBrowser函数IE初始化失败,打开指定页面【&myuri&】在初始化的时候失
12、败!Set MyBrowser = NothingSet IEBrowser = NothingExit FunctionEnd IfEnd IfSet ObjectBrowser = NothingSet IEBrowser = NothingReportPass,使用NavigateBrowser函数IE初始化成功,打开指定页面【¶_myuri&】并且初始化成功!NavigateBrowser = TrueEnd Function*设计说明:处理弹出对话框,主要用于弹出的可预知性能够得到控制的地方,未知弹出需引用其他函数处理程序输入:选择对话框操作:是/否/确认/取消/确定等等,是
13、否需要向结果中添加提示信息的报告程序输出:结果报告设计人员:LIUYI027设计时间:2011-01-08调用举例:HandleDialog 确认,Y*Public Function HandleDialog(regexpName,needAlertInfo)If Trim(regexpName) = ThenregexpName = 无需匹配的按钮!End IfSet Wshshell = CreateObject(Wscript.Shell)Set DialogObject = Description.Create()DialogObject(micclass).Value = Dialo
14、gSet WindowsDialog = Desktop.ChildObjects(DialogObject)dlNum = WindowsDialog.Count - 1If dlNum 0 ThenWindowsButton(binx).ClickReportPass,函数HandleDialog点击指定按钮成功,按照指定的按钮名称【®expName&】查找并点击按钮成功!Exit ForEnd IfIf binx = wbNum And Instr(btName,regexpName) = 0 ThenWshshell.AppActivate(dialogTitle)Wait(0)
15、Wshshell.SendKeys ENTERReportmicWarning,函数HandleDialog点击按钮,没有匹配到指定按钮,对已经弹出的对话框直接使用默认操作!End IfNextSet WindowsButton = NothingSet WinButtonObject = NothingNextSet WindowsDialog = NothingSet DialogObject = NothingSet Wshshell = NothingEnd Function*设计说明:SAFFRON框架引用以及部分改造,函数分流之后的部分程序输入:参见各个函数程序输出:设计人员:设计
16、时间:2011-01-08调用举例:*Public Function GenerateDescription (classString,isModleWindow)classNx = IndexOf(classArray, classString)If classNx = 0 Then增加对模态窗口的支持If isModleWindow = Y Or isModleWindow = True ThendescString = Window(&Quote(nativeclass:=InternetExplorer_TridentDlgFrame)&).ElsedescString = class
17、Array(0)&(&Quote(descArray(0)&).End IfIf classNx = 1 ThendescString = descString + classArray(1)&(&Quote(descArray(1)&).If 2 = classNx ThenIf hasFrameValue ThendescString = descString +classArray(2)&(&Quote(descArray(2)&,&Quote(name:=&hasFrameValue)&).End IfEnd IfEnd IfEnd IfGenerateDescription = de
18、scStringEnd Function*Public Function GenerateObjectDescription (objClassName, otherAtt)objNx = IndexOf(objectArray, objClassName)objNameString = If objNx -1 ThenobjNameString =objClassName&(&Quote(objectDescArray(objNx)&,&Quote(otherAtt)&,&Quote(index:=0)&).End IfGenerateobjectDescription = objNameS
19、tringEnd Function*Public Function ObjectWorkUnderFrame(frameName)hasFrameValue = frameNameEnd Function*Public Function ObjectNotWorkUnderFrame()hasFrameValue = End Function*Public Function VerifyObject (objectClassName, text,isModleWindow)rval = falselocalDesc = estr = If hasFrameValue ThenlocalDesc
20、 = GenerateDescription(classArray(2),isModleWindow)ElselocalDesc = GenerateDescription(classArray(1),isModleWindow)End IfSelect Case objectClassNameCase PageExecute rval =&GenerateDescription(classArray(1),isModleWindow)&Exist (0)If rval ThenExecute title =&GenerateDescription(classArray(1),isModleW
21、indow)&GetROProperty(&Quote(title)&)If title = text Thenrval = trueElserval = falseEnd IfEnd IfCase CurrentFrameIf hasFrameValue Thenestr = rval = &localDescEnd IfCase Linkestr = rval = &localDesc&GenerateObjectDescription(Link,innertext:=.*&text&.*)Case WebButtonestr = rval = &localDesc&GenerateObj
22、ectDescription(WebButton,value:=.*&text&.*)Case WebListestr = rval = &localDesc&GenerateObjectDescription(WebList,name:=.*&text&.*)Case WebEditestr = rval = &localDesc&GenerateObjectDescription(WebEdit,name:=.*&text&.*)End SelectIf estr ThenExecute estr + Exist (0)End IfIf rval ThenReport micDone, o
23、bjectClassName&匹配对象成功,对象【&objectClassName&】【 &Quote(text)& 】查询成功!VerifyObject = TrueElseReport Warning, objectClassName&匹配对象失败,对象【&objectClassName&】【 &Quote(text)& 】查询无果!VerifyObject = FalseEnd IfEnd Function*Public Function ClickSpecifiedObject (objectClassName, text, isModleWindow)localDesc = If h
24、asFrameValue ThenlocalDesc = GenerateDescription(classArray(2),isModleWindow)ElselocalDesc = GenerateDescription(classArray(1),isModleWindow)End IfSelect Case objectClassNameCase LinkExecutelocalDesc&GenerateObjectDescription(Link,innertext:=.*&text&.*)&ClickSyncronizeBrowserReport micDone,链接点击完成:,链
25、接【&text&】点击完毕,并且已经执行网页初始化!Case WebButtonExecute localDesc&GenerateObjectDescription(WebButton,value:=.*&text&.*)&ClickSyncronizeBrowserReport micDone, 按钮点击完成:,按钮【&text&】点击完毕,并且已经执行网页初始化!Case ImageExecute localDesc&GenerateObjectDescription(Image,alt:=.*&text&.*)&ClickSyncronizeBrowserReport micDone,
26、 图标点击完成:,图标【&text&】点击完毕,并且已经执行网页初始化!End SelectEnd Function*Public Function SelectFromList (objectName, text, isModleWindow)localDesc = rv = rval = falseIf hasFrameValue ThenlocalDesc = GenerateDescription(classArray(2),isModleWindow)ElselocalDesc = GenerateDescription(classArray(1),isModleWindow)End
27、 IflocalDesc = localdesc&GenerateObjectDescription(WebList,name:=.*&objectName&.*)Execute cnt = &localDesc&GetROProperty(&Quote(items count)&)For i = 1 to cntExecute rv = &localDesc&GetItem (&i&)If rv = text Thenrval = trueEnd IfNextIf rval ThenExecute localDesc&Select &Quote(text)SyncronizeBrowserR
28、eport micDone, 下拉列表选择成功,选择项【&text&】已经被查询到、选择,并且执行初始化!ElseReport micFail, 下拉列表选择失败,选择项【&text&】没有在下拉列表【&objectName&】中查询到查询到!Exit FunctionEnd IfSelectFromList = TrueEnd Function*Public Function EnterValueForEdit (objectName, text,isModleWindow)localDesc = rval = trueIf hasFrameValue ThenlocalDesc = Gen
29、erateDescription(classArray(2),isModleWindow)ElselocalDesc = GenerateDescription(classArray(1),isModleWindow)End IflocalDesc = localdesc&GenerateObjectDescription(WebEdit,name:=.*&objectName&.*)Execute localDesc&Set (&Quote(text)&)Report micDone, 文本框输入操作:,文本【&text&】成功输入到输入框【&objectName&】!EnterValueF
30、orEdit = rvalEnd Function*设计说明:从数据库中抓取指定表和列的数据,依赖ORAOLEDB组件的正常使用,不用创建数据源,不用配置连接串程序输入: 要执行的sql语句 要抓取的字段 数据库用户名 数据库主机的域名或IP 数据库主机的端口 数据库实例SID 数据库用户的密码程序输出:要抓取的字段设计人员: LIUYI027设计时间:2009-09-26调用举例:MsgBox FetchDBDataOle(select * fromplan,plan_code,A,05,1555,B,C)*Public FunctionFetchDBData(DBUse
31、rName,DBHostAddress,DBServerPort,DBSid,DBPassWord,sqlText,tableColumn)Set DBRec=createobject(adodb.recordset)Set DBCon=createobject(adodb.Connection)DBCon.ConnectionString=Provider=OraOLEDB.Oracle;User ID=&_DBUserName &;Data Source=(description =(address = (protocol =tcp)(host = &_DBHostAddress &)(p
32、ort = &_DBServerPort&)(connect_data =(sid = &_DBSid&);Password=&_DBPassWord&DBCon.OpenDBRec.Open sqlText,DBConFetchDBData = DBRec.Fields(tableColumn)DBCon.CloseSet DBRec = NothingSet DBCon = NothingEnd Function*设计说明:从数据库中抓取指定表和列的数据,基于MSDAORA对象的使用,不依赖ORAOLEDB,不用创建数据源,不用配置连接串程序输入: 要执行的sql语句 要抓取的字段 数据库
33、用户名 数据库主机的域名或IP 数据库主机的端口 数据库实例SID 数据库用户的密码程序输出:要抓取的字段设计人员: LIUYI027设计时间:2009-09-26调用举例:MsgBox FetchDBData(select * fromplan,plan_code,A,05,1555,B,C)*Public FunctionFetchDBDataMSDAORA(DBUserName,DBHostAddress,DBServerPort,DBSid,DBPassWord,sqlText,tableColumn)Set DBCon = CreateObject(ADODB.C
34、onnection)Set DBRec = CreateObject(ADODB.RecordSet)DBCon.Open = Provider=MSDAORA.Oracle;User ID=&_DBUserName&;Data Source=(description =(address = (protocol = tcp)(host= &_DBHostAddress &)(port = &_DBServerPort&)(connect_data =(sid = &_DBSid&);Password=&_DBPassWord&DBRec.OPEN sqlText,DBConFetchDBDat
35、aMSDAORA = DBRec.fields(tableColumn)DBCon.closeSet DBCon =NothingSet DBRec = NothingEnd Function*设计说明:按照传入SQL修改数据库的值,依赖ORAOLEDB组件的正常使用,不用创建数据源,不用配置连接串程序输入: 要执行的sql语句 数据库用户名 数据库主机的域名或IP 数据库主机的端口 数据库实例SID 数据库用户的密码程序输出:无设计人员: LIUYI027设计时间:2009-09-26调用举例:Call ModifyDBDataOle(A,05,1555,B,C,upda
36、teTest set Col = A where Col = B)*Public SubModifyDBData(DBUserName,DBHostAddress,DBServerPort,DBSid,DBPassWord,sqlText)Set DBRec=createobject(adodb.recordset)Set DBCom=createobject(mand)DBCom.activeconnection=Provider=OraOLEDB.Oracle;User ID=&_DBUserName&;Data Source=(description =(address = (proto
37、col = tcp)(host= &_DBHostAddress&)(port = &_DBServerPort&)(connect_data =(sid = &_DBSid&);Password=&_DBPassWord&DBCom.CommandType = 1DBCom.CommandText = sqlTextSet DBRec = DBCom.Execute()DBCom.CommandText = commitSet DBRec = DBCom.Execute()Set DBRec = NothingSet DBCom = NothingEnd Sub*设计说明:按照传入SQL修改
38、数据库的值,不依赖ORAOLEDB组件的使用,不用创建数据源,不用配置连接串程序输入: 要执行的sql语句 数据库用户名 数据库主机的域名或IP 数据库主机的端口 数据库实例SID 数据库用户的密码程序输出:无设计人员: LIUYI027设计时间:2009-09-26调用举例:Call ModifyDBData(A,05,1555,B,C,updateTest set Col = A where Col = B)*Public SubModifyDBDataMSDAORA(DBUserName,DBHostAddress,DBServerPort,DBSid,DBPassW
39、ord,sqlText)Set DBCon = CreateObject(ADODB.Connection)Set DBRec = CreateObject(ADODB.RecordSet)DBCon.Open = Provider=MSDAORA.Oracle;User ID=&_DBUserName&;Data Source=(description =(address = (protocol = tcp)(host= &_DBHostAddress &)(port = &_DBServerPort&)(connect_data =(sid = &_DBSid&);Password=&_D
40、BPassWord&DBRec.OPEN sqlText,DBConDBRec.OPEN commit,DBConDBCon.CloseSet DBCon =NothingSet DBRec = NothingEnd Sub*设计说明:调用存储过程,不依赖ORAOLEDB组件的使用,不用创建数据源,不用配置连接串程序输入: 要执行的存储过程名 数据库用户名 数据库主机的域名或IP 数据库主机的端口 数据库实例SID 数据库用户的密码程序输出:无设计人员: LIUYI027设计时间:2009-09-26调用举例:CallRunProcedure(gbsjob.job_package.gbs_jo
41、b4,pub_test,2,1562,gs30gbs,test2012)*SubRunProcedure(procName,DBUserName,DBHostAddress,DBServerPort,DBSid,DBPassWord)Set DBCon = CreateObject(ADODB.Connection)Set DBRec = CreateObject(ADODB.RecordSet)Set DBcom = CreateObject(ADODB.Command)DBCon.Open = Provider=MSDAORA.Oracle;User ID=&_DBUse
42、rName&;Data Source=(description =(address = (protocol = tcp)(host= &_DBHostAddress&)(port = &_DBServerPort&)(connect_data =(sid = &_DBSid&);Password=&_DBPassWord&DBcom.ActiveConnection = DBConDBcom.CommandType = 4DBcom.CommandText = procNameDBcom.ExecuteDBcom.CommandText = commitDBcom.ExecuteDBCon.closeSet DBcom = NothingSet DBCon =NothingSet DBRec = NothingEnd Sub*设计说明:用于将EXCEL中某个SHEET单独C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气象预报系统历史数据存储策略
- 教育寓言类故事的解析
- 软件应用教程
- 红海行动寓言故事中的成长启示
- Isoxepac-Standard-生命科学试剂-MCE
- 2025年剧装道具相关工艺美术品合作协议书
- 4-epi-Edoxaban-tosylate-4-epi-DU-176b-生命科学试剂-MCE
- 金融投资行业理财产品投资风险免责协议
- 小学生学习方法探讨征文
- 2025年超净高纯试剂合作协议书
- 八年级英语初中英语阅读理解阅读专项练习试卷附答案
- 人教版八年级数学下册课件【全册】
- 物联网管理平台的设计与实现
- 1例妊娠糖尿病的个案护理
- 《排球正面双手传球》课件
- 光伏发电职业病危害预评价方案方案
- 财务报表涉税分析
- 五官科眼耳鼻咽喉科医疗常用器械的认识
- 企业清产核资报表
- 浅谈建筑工程机电安装施工技术运用论文
- 2023年新改版教科版四年级下册科学练习题(一课一练+单元+期中+期末)
评论
0/150
提交评论