QTP每日笔记汇总.doc_第1页
QTP每日笔记汇总.doc_第2页
QTP每日笔记汇总.doc_第3页
QTP每日笔记汇总.doc_第4页
QTP每日笔记汇总.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

Day01 一、 QTP介绍1. 关键字驱动的自动化功能测试工具(Keyword View:关键字视图)2. 可以使用VBScript语言编写程序,增强脚本功能(Expert View:专家视图)二、 录制方式1、 自动启动录制方式(选择第二项,加载被测系统)2、 手动启动录制方式(选择第一项,补录)三、 录制脚本的过程1、 New(新建脚本)2、 Automation-Recording and Run Settings(设置手动 or 自动录制方式)3、 Recrod(录制)4、 Stop(停止录制)5、 Run(不要打开被测系统)四、 QTP运行原理1. 封装被测对象到对象仓库2. 对比对象仓库里的对象属性和真实运行时对象的属性3. 对比一致后,按照脚本驱动程序运行五、添加对象到对象仓库1. Object Repository-Add object to Local(ctrl)2. Active Screen-选择所要添加的对象右键(View/Add Object)3. 注意:Active Screen保存的图片,是录制的过程中保存进来的六、Object SPY查看被测对象的属性(ctrl)七、常用按钮的位置1、调试字体的位置:Tools-View Options-Font and Colors2、恢复QTP窗口的原始大小位置:Tools-Options-Restore Layout3、设置脚本的回放速度:Tools-Options-Run注意的问题:Automation下面加载被测系统只能加载一个录制脚本之前要创建新脚本(New)Day02一、对象仓库的类型1、本地对象仓库(Local)2、共享对象仓库(Shared)导出对象仓库:File-Export Local Objects.(.tsr)关联对象仓库:Resorces-Associate Repositories(某个对象右键-Copy to Local)二、常用WinApp,Web控件的识别Object SPY,add object to Local查看控件的类型三、检查点1、标准检查点:检查对象的属性2、位图检查点:检查某个图片,是否显示正确3、文本检查点文本区域检查点:检查静态文字是否显示正确4、数据库检查点:DSN文件-关联某个数据库文件四、参数化1、首尾一致原则2、循环开关:File-Setting-RunDay03一、输出值和检查点的参数化添加输出值的位置:1、Insert-output value2、Active Screen二、多Action的使用创建多Action的方法:1、Call to New Action2、Call to Copy of Action3、Call to Existing of Action4、Split Action注意:copy:可拷贝可复用and不可复用Action可更改代码Existing:可调用可复用Action不可更改代码Action的种类:1、可复用的Action:Reusable Action2、不可复用的Action:non-Reusable Action注意:Reusable:可以被其它测试调用non-Reusable:只可以被本测试调用三、Action的参数化Global sheet:控制整个脚本循环File-Settings-RunAction sheet:控制当前Action循环(Test Flow)-右键-Action call Properties-Run四、VBS1、变量Variantdim i2、数组dim myarry(3)数组长度为4,数组元素下标从0开始3、MsgboxMsgbox 输出框的内容,类型,输出框标题类型:Help 表一返回值:res=Msgbox (,)res:Help 表二4、Inputboxres=Inputbox (提示框的内容,提示框的标题)返回值res:string类型如果想进行运算cint5、连接符+ &+连接符:连接的变量类型必须一致,同为string&连接符:连接的变量类型可以不一致Day04一、VBS流程控制语句1、if语句if 条件表达式 Then语句体End ifif 条件表达式 Then语句体else语句体End ifif 条件表达式 Then语句体elseif 条件表达式 Then语句体.else语句体End if2、select caseselect case 表达式case 值语句体case 值语句体.case else语句体End select3、do.loopdo while 条件为True 执行循环体循环体Loopdo until 条件变为True 退出循环体循环体Loop4、for.nextfor 循环变量=初值 to 终止 step 步长循环体Next二、VBS过程1、sub2、function区别:function有返回值,sub没有返回值调用:sub:无参 call mysub|call mysub()有参 mysub 实参|call mysub(实参)function:无参 call myfun|call myfun()有参 call myfun(实参)+100三、int cint rndint:正数:舍掉小数部分负数:舍掉小数部分,整数部分-1cint:遵循四舍五入(注意:0.5 查看帮助)rnd: RandomizeDay05一、 认识专家视图二、检查点的返回值1、录制时添加检查点:将(checkpoint。) 作为check的参数2、checkproperty:object.checkproperty 属性名,属性值,timeoutres=object.checkproperty (属性名,属性值,timeout)三、Reporterreporter.ReportEvent 参数一,参数二,参数三参数一:报告的类型(micdone micpass micFail micWarning)参数二:报告的title参数三:报告的内容,可进行字符串的连接四、脚本语句之间存在延时:1、wait语句2、WaitPropertyobject.WaitProperty 属性名,属性值,timeout3、设置脚本的运行速度Tools-Options-Run五、调试step into:单步执行step out:退出过程step over:结束整个脚本(add to watch)Day06一、取值、赋值RawValue、Value、省略DataTable.RawValue(参数一,参数二)参数一:参数名(列名)|index 从1开始参数二:表名|index 从1开始|dtGlobalSheet dtLocalSheet|省略 GolbalValue:取值时用法与RawValueDataTable.value(参数一,参数二)=”abc“二、Excel导入导出导入:Import ImportSheetDataTable.Import FileNameFileName:Excel路径以及名字(路径可省略-将表单放在脚本文件夹下)注意:1、导入的时候,Excel表单与QTP表单一一对应2、如果Excel表单个数大于QTP表单个数-以少数表单为主DataTable.ImportSheet FileName,Excel 表单名,QTP 表单名导出:DataTable.Export FileNameFileName:Excel路径以及名字(路径可省略-表单将存放在脚本文件夹下)DataTable.ExportSheet FileName,QTP 表单名三、行操作DataTable.GetSheet(2).SetNextRow将制定表单向下调整一行DataTable.GetSheet(Action1).SetPrevRow将Action1表单向上调整一行DataTable.GetSheet(3).SetCurrentRow(num)将第三张表单调整到num行res=DataTable.GetSheet(2).GetCurrentRow获取第二张表单当前操作的行数,保存在返回值res中Day07一、环境变量1、参数化的方法:DataTableEnvironmentRandomNumber2、Environmnet设置:全局的参数File-Settings-Environment分类:内置的环境变量:TestDir:输出脚本的路径TestName:输出脚本的名字ActionIteration:输出脚本的循环次数OS:输出操作系统的类型不可以赋值 不可导出 不可导入用户自定义的环境变量:可以新建、可以重新赋值、导出(XML)、导入用途:Test、Action之间共享数据存放一些预期值(IP 管理员用户名密码)二、RandomNumber1、For each action iteration-Action2、For each test iteration-Global3、Once per entire run-testDay08一、正则表达式1、元字符.:任意字符(除换行符)w:数字、字母、下划线_、汉字d:数字0-9s:空白符b:(单词)的开始与结束:(字符串)的开始的标志$:(字符串)的结束的标志2、限定符+:1 or 更多*:0 or 更多?:0 or 1n:n次n,m:n-m次n,:n or 更多3、转义注意:-不是元字符,不用转义()是元字符,如果想匹配括号本身,需要转义4、替换|注意:顺序问题5、反义S:除了空白符以外的任意字符W:除了数字、字母、下划线_、汉字以外的任意字符D:除了数字以外的任意字符B:不匹配单词的开始与结束X:除了X以外的任意字符aeiou:除了元音字符以外的任意字符6、定义字符类用将一个范围或者一个组合放到里,组成一个类别例:aeiou 0-9注意:.?!无需写成.?!7、后向引用标志:第一个出现的(,遇到下一个),默认分组为1 后向引用分组1 用法18、懒惰匹配限定符后加?,尽可能少匹配二、正则表达式的对象1、创建一个正则表达式set MyReg=New RegExp2、给正则表达式对象的属性赋值MyReg.Pattern=正则表达式MyReg.IgnoreCase=True(忽略大小写)MyReg.Global=True(全局可用)3、正则表达式的方法TestObject.Test(string)Object:正则表达式对象(MyReg)string:被检索的字符串返回值:布尔类型True:匹配到 False:没匹配到ReplaceObject.Replace(string1,string2)Object:正则表达式对象(MyReg)string1:被检索的字符串string2:替换的字符串返回值:替换后的字符串没有找到匹配的内容,返回string1本身ExecuteObject.Execute(string)Object:正则表达式对象(MyReg)string:被检索的字符串返回值:Matchs 对象的集合(set)set Matchs=Object.Execute(string)For循环的次数:取决于Matchs里子对象的个数For each Match in Matchsmsgbox Match.FirstIndexmsgbox Match.valueNextDay09一、QTP的运行原理1、封装被测对象到对象仓库(TO)2、对比对象仓库里的对象属性(TO)和运行时真实的被测对象的属性(RO)3、对比一致后,按照脚本驱动对象(RO)运行二、TO & ROTO:test object 对象仓库里对象的属性RO:runtime object 运行时真实被测对象的属性TO 包含 ROGetTOProperty属性值=Object.GetTOProperty(“属性名”)GetTOPropetiesset res=Object.GetTOPropertiesFor i=0 to res.count-1print res(i).name & = & res(i).valueNextSetTOPropertyObject.SetTOProperty 属性名,属性值GetROProperty属性值=Object.GetROProperty(属性名)三、描述性编程初级描述性编程(直描)object(property name:=property value,.,property name:=property value)解决的问题:1、脱离对象仓库,解决对象无法识别2、有多个同样的被测系统的话,index 编号从0开始代码简化:1、将对象赋值给变量(set)2、With.End With注意:不可套用Day11一、录制模式录制模式分类:1、正常录制2、模拟录制3、低级录制用途:正常录制:对 对象 的操作,回放时跟对象的位置无关模拟录制:对 鼠标移动轨迹 的操作,回放时对屏幕的分辨率,被测软件的位置有关相对于屏幕:Desktop.RunAnalog Track1相对于窗口:Window(画图).RunAnalog Track1生成的鼠标移动轨迹保存在文件中,所以无法编辑低级录制:对 对象精确位置 的操作 回放时跟对象的位置有关录制到键盘的操作将所有的父对象识别为Window,将被操作对象识别为WinObject二、细化鼠标操作Tools-Web Event Recoring Configuarion选择要细化操作的对象(Web Objects)-Add Event-选择某个鼠标事件(Listen,Record)三、Active Screen捕获信息的设置1、None:不捕获Active Screen2、Minimum:捕获被操作对象以及它的父对象3、Partial:捕获被操作对象 and 它的父对象 and 父对象下的所有子对象(First Step)4、High:捕获被操作对象 and 它的父对象 and 父对象下的所有子对象(each Step)四、虚拟对象对象识别不了:1、考虑将对象添加到对象仓库2、正则表达式3、描述性编程4、虚拟对象创建过程:Tools-Virtual Objects-New Virtual Object(注意虚拟对象的父对象)查看:Tools-Virtual Objects-Virtual Object Manager虚拟对象文件保存路径:-dat-VoTemplate-.vot注意:1、不能对虚拟对象添加检查点2、不能用Object SPY查看其属性五、字符串的加密与解密加密:1、QTP自带工具QTP-Tools-Password Encoder2、DataTable某个单元格-右键-Data-EnCrypt3、Crypt.Encrypt(str)res=Crypt.Encrypt(str)str:需要加密的字符串res:加密的字符串解密:对一个明文显示的输入框,应用SetSecureSetSecure后接上加密的字符串Day12一、WinComboBoxselectselect 城市|select index index 从0开始获取总数1、GetItemsCount2、GetROProperty(items count)获取随机数RandomNumber(0,Tnum-1)获取随机数对应的城市GetItem(index) index 从0开始思考:怎么获取WinCom

温馨提示

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

评论

0/150

提交评论