QuickTest Professional(QTP)常用使用方法整理.doc_第1页
QuickTest Professional(QTP)常用使用方法整理.doc_第2页
QuickTest Professional(QTP)常用使用方法整理.doc_第3页
QuickTest Professional(QTP)常用使用方法整理.doc_第4页
QuickTest Professional(QTP)常用使用方法整理.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. 模拟键盘操作1) WshShell.SendKeys应用Set WshShell = CreateObject(WScript.Shell)WshShell.SendKeys(DOWN ARROW)WshShell.SendKeys(ENTER)KeyArgumentBACKSPACEBACKSPACE, BS, or BKSPBREAKBREAKCAPS LOCKCAPSLOCKDEL or DELETEDELETE or DELDOWN ARROWDOWNENDENDENTERENTER or ESCESCHELPHELPHOMEHOMEINS or INSERTINSERT or INSLEFT ARROWLEFTNUM LOCKNUMLOCKPAGE DOWNPGDNPAGE UPPGUPPRINT SCREENPRTSCRIGHT ARROWRIGHTSCROLL LOCKSCROLLLOCKTABTABUP ARROWUPF1F1F2F2F3F3F4F4F5F5F6F6F7F7F8F8F9F9F10F10F11F11F12F122) Extern.keybd_event 模拟键盘键盘模拟函数,dec为虚拟键盘码Public Sub keyBoard(dec)Extern.Declare micVoid, keybd_event, user32.dll, keybd_event, micByte,micByte,micDWord,micULongExtern.keybd_event dec,0,0,0End Sub调用函数,执行敲击空格键的效果Call keyBoard(32)2. 自动截图,并将图片名称按当前系统时间命名将当前系统时间转换成yyyymmddhhmmss格式Dim s,ts=nowt=replace(s,:,) 去掉“:”号t=replace(t,-,) 去掉“-”号t=replace(t, ,) 去掉空格截取当前屏幕,并按照系统时间保存desktop.CaptureBitmap D:QTP测试结果测试截图项目明细表&t&.bmp,true或者(有DataTable参数存在时)pictureName为 截图要显示的名字,parameterName为DataTable的列名Public Sub pictureCapture (pictureName,parameterName)Dim aa=year(now)&month(now)&day(now)& Hour(now)&minute(now)&second(now)Dim perName,dataNamerow=DataTable.GetCurrentRow获取DataTable当前活动的行perName=_第&row&行If parameterName= Thendesktop.CaptureBitmap D:QTP测试结果测试截图&pictureName&perName&a&.bmp,trueelse dataName为dataTable中当前单元格中的值dataName=DataTable.GetSheet(Action1).GetParameter(parameterName).ValueByRow(row)If (instr(dataName,) or instr(dataName,/) or instr(dataName,:) or instr(dataName,*) or instr(dataName,?) or instr(dataName,) or instr(dataName,|) or instr(dataName,) Thendesktop.CaptureBitmap D:QTP测试结果测试截图&pictureName&perName&【该特殊字符不能用于文件命名】&a&.bmp,trueelsedesktop.CaptureBitmap D:QTP测试结果测试截图&pictureName&perName&【&dataName&】&a&.bmp,trueEnd IfEnd IfEnd Sub使用:Call pictureCapture(业务维护_查询全部,)或者(没有Datatable存在时)pictureName为 截图要显示的名字Public Sub pictureCapture (pictureName)Dim aa=year(now)&month(now)&day(now)& Hour(now)&minute(now)&second(now)desktop.CaptureBitmap D:QTP测试结果测试截图&pictureName&a&.bmp,trueEnd Sub 3. 定格当前步骤,5秒之后继续运行Public Sub MsgBoxTimeout (Text,Title,TimeOut)Set WshShell = CreateObject(WScript.Shell)WshShell.Popup Text, TimeOut,TitleEnd Sub call MsgBoxTimeout (查询等待5秒,定时msgbox,5)或者Set WshShell = CreateObject(Wscript.Shell)WshShell.Popup请等待5秒钟,5秒后该窗口自动关闭, 5, Title4. QTP的退出函数1、 ExitAction() 退出当前操作,无论其本地(操作)循环属性是什么。2、ExitActionIteration() 退出操作的当前循环。3、ExitComponent()退出当前组件并继续业务流程测试中的下一个组件,无论组件的循环设置是什么。4、ExitComponentIteration() 退出当前组件循环并继续该组件的下一次循环,或者,如果当前组件没有其他循环,则继续业务流程测试中的下一个组件。5、ExitGlobalIteration() 退出当前的全局循环,并使用全局数据表的下一行开始下一次循环。6、ExitRun() 退出测试,无论其全局循环属性是什么。7、ExitTest() 退出整个业务流程测试,无论运行时循环设置是什么。8、ExitTestIteration() 退出业务流程测试的当前循环并继续下一次循环,或者如果没有其他运行时参数循环,则退出测试运行。例如:判断页面是否存在【导出数据】按钮,也即是页面有没有出现异常,若出现异常,则就跳出本次循环,并开始下一次循环If Browser(XXX).Page(XXX_2).Frame(mainFrame).WebButton(导出数据).Exist = false ThenExitTestIteration()End If5. IF语句Dim ii=1If i=0 Then msgbox(hahah) msgbox(1312431241)else msgbox(回答实打实)end if6. select case.case.endcaseDim ii=2Select Case iCase 1msgbox(这是1)Case 2msgbox(这是2)Case elsemsgbox(都不是)End Select7. for循环Dim iFor i=1 to 5msgbox(执行&i&次了)NextDim iFor i=1 to 5 step 2msgbox(执行&i&次了)Next8. for each.in.Dim names(2)names(0)=一names(1)=二names(2)=三For each i in namesmsgbox(我是第&i&名!)Next9. do whileDim ii=0Do while i5msgbox(我是第&i&名!)i=i+1Loop10. 将当前系统时间转换成yyyymmddhhmmss格式Dim s,ts=nowt=replace(s,:,)t=replace(t,-,)t=replace(t, ,)11. 引用其他脚本后,可按照如下方法调用12. On Error Resume Next,防止程序运行时遇到异常中断在脚本开始处加上On Error Resume Next,当程序与到异常时,将跳过该异常继续下一个步骤的运行13. QTP函数库动态加载两种方式1) ExecuteFile - 动态调用VBS文件方式ExecuteFilec:iquicktest.vbs2) LoadFunctionLibrary 动态调用函数方式 (QTP11最新加入的新函数)LoadFunctionLibraryc:iquicktest.vbs14. GetROProperty获取页面控件的属性值例:获取页面中起始日期的输入值:Browser(XXX_2).Page(XXX).Frame(mainFrame_2).WebEdit(txtStart).GetROProperty(value)15. 创建标准检查点Check CheckPoint(“txtNowHouseAddress”)1) 检查现住址与通信地址是否一样(点击【同通讯地址】链接按钮之后)Browser(XXX).Page(XXX).Frame(mainFrame).WebEdit(txtMessAddr).Set 12312Browser(XXX).Page(XXX).Frame(mainFrame).Link(同通讯地址).ClickBrowser(XXX).Page(XXX).Frame(mainFrame).WebEdit(txtNowHouseAddress).Check CheckPoint(txtNowHouseAddress_2)检查点属性设置如下图:由于【同通讯地址】功能正常,所以检查点的值和被检查的值不一致,运行结果如下:2) 获取检查点的返回值(false或者true)Browser(XXX).Page(XXX).Frame(mainFrame).WebEdit(txtMessAddr).Set 12312Browser(XXX).Page(XXX).Frame(mainFrame).Link(同通讯地址).ClickDim cc=Browser(XXX).Page(XXX).Frame(mainFrame).WebEdit(txtNowHouseAddress).Check(CheckPoint(txtNowHouseAddress_2)msgbox(c)该例中变量c的值为False。16. 创建文本检查点,用以判断页面中是否存在想要的文本判断页面中第一行客户名称列是否存在“个人客户”的文本:文本检查点设置:由于页面中第一行客户名称列值为“个人客户1”,与期望的文本不一致,则运行结果为False17. 创建数据库检查点,用以检查用户录入的数据与最终保存到数据库中的数据是否一致在页面提交按钮后,插入数据库检查点:选择手动执行SQL语句:在连接字符串项点击【创建】:在这里可以新建文件数据源文件或选择已有的数据源文件,这里选择已有的数据源文件:输入SQL登录密码:输入SQL语句,以查询指定的数据:在配置值栏中输入预期的值:点击完成即可。运行结果如下:18. 特殊字符验证鉴于在执行测试脚本时,若加入特殊字符验证脚本,则脚本执行效率较低,故可将正常数据与异常数据分开,即分两个DataTable,一个存放正常数据,一个存放异常数据,QTP中dataTable中的数据可通过导入和导出进行切换,进而提高测试效率1) 特殊字符验证函数:获取传进来的参数值Dim pictureName,reporterName,parameterNamepictureName=parameter(pictureName)reporterName=parameter(reporterName)parameterName=parameter(parameterName)msgbox(pictureName)msgbox(reporterName)msgbox(parameterName)调用特殊字符验证函数Call specialCharacter_Check(pictureName,reporterName,parameterName)pictureName为 截图要显示的名字,parameterName为DataTable的列名Public Sub pictureCapture (pictureName,parameterName)Dim aa=year(now)&month(now)&day(now)& Hour(now)&minute(now)&second(now)Dim perName,dataNamerow=DataTable.GetCurrentRow获取DataTable当前活动的行perName=_第&row&行If parameterName= Thendesktop.CaptureBitmap D:QTP测试结果测试截图&pictureName&perName&a&.bmp,trueelse dataName为dataTable中当前单元格中的值dataName=DataTable.GetSheet(Action1).GetParameter(parameterName).ValueByRow(row)If (instr(dataName,) or instr(dataName,/) or instr(dataName,:) or instr(dataName,*) or instr(dataName,?) or instr(dataName,) or instr(dataName,|) or instr(dataName,) Thendesktop.CaptureBitmap D:QTP测试结果测试截图&pictureName&perName&【该特殊字符不能用于文件命名】&a&.bmp,trueelsedesktop.CaptureBitmap D:QTP测试结果测试截图&pictureName&perName&【&dataName&】&a&.bmp,trueEnd IfEnd IfEnd Sub reporterName为 要标识该报表的名字,parameterName为DataTable的列名,isCheck为标识系统是否对特殊字符作录入验证(1为验证,0为未验证)Public Sub reporterRes(reporterName,parameterName,isCheck)Dim perName,dataNamerow=DataTable.GetCurrentRow获取DataTable当前活动的行perName=_第&row&行If parameterName= ThenIf isCheck=1 Thenreporter.ReportEvent micPass,特殊字符验证,reporterName&perName&_系统已限制特殊字符录入elsereporter.ReportEvent micWarning,特殊字符验证,reporterName&perName&_未对测试数据作录入限制End Ifelse dataName为dataTable中当前单元格中的值dataName=DataTable.GetSheet(Action1).GetParameter(parameterName).ValueByRow(row)If isCheck=1 Thenreporter.ReportEvent micPass,特殊字符验证,reporterName&perName&_系统已限制特殊字符【&dataName&】录入elsereporter.ReportEvent micWarning,特殊字符验证,reporterName&perName&_未对测试数据【&dataName&】作录入限制End IfEnd IfEnd Sub特殊字符验证函数,其中:pictureName截图名称,reporterName报表名称,parameterName为DataTable的列名Public Sub specialCharacter_Check(pictureName,reporterName,parameterName)模拟键盘操作,点击HOME键Set WshShell = CreateObject(WScript.Shell)WshShell.SendKeys(HOME)wait(2)Dim aa=Browser(XXX).Dialog(来自网页的消息).ExistIf a=true ThenCall pictureCapture(pictureName,parameterName)Browser(XXX).Dialog(来自网页的消息).WinButton(确定).ClickCall reporterRes(reporterName,parameterName,1)elseCall pictureCapture(pictureName,parameterName)Call reporterRes(reporterName,parameterName,0)End IfEnd Sub2) 函数调用:Public Sub specialCharacter_Check(pictureName1,reporterName1,parameterName1)Dim pictureName,parameter,reporterNamepictureName=pictureName1reporterName=reporterName1parameterName=parameterName1RunAction Action1 特殊字符录入验证, oneIteration,pictureName,reporterName,parameterNameEnd Sub调用验证函数Call specialCharacter_Check(业务登记_公司名称,业务登记_公司名称,txtFullName)19. InputBox(请输入数字, 操作提示, 50)temp = InputBox(请输入数字, 操作提示, 50)msgbox(temp)20. 退出与登录系统(成都监管平台)Public Sub InandOut(userName)Browser(XXX).Page(XXX).Frame(topFrame

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论