UFT基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

讲师李含欢QTP概述Ø为什么要做自动化?ØQTP主窗口ØQTPTest的两种视图版本更新得回归了!谁能来帮我回归测试!啊!!又来!为甚么要做自动化?•在回归测试中应用广泛代替重复劳动,其脚本可用于回归测试•无人值守,实时监控•补充手工用例不足•持续集成优点•1.编写脚本耗时较长•2.风险大,如果没有良好的成本分析与自动化测试过程控制手段,自动化测试很有可能失败,浪费人力与物力•3.由于机器执行不如人工智能,发现bug较少,单纯依靠自动化测试无法保证产品质量,永远无法替代手工测试缺点ØQTP主窗口ØQTPTest的两种视图ØKeywordView:关键字视图通过可视化方法增强脚本功能ØExpertView:专家视图使用VBScript脚本语言增强脚本功能注意:无论是关键字视图还是专家视图,都是记录操作步骤的脚本,只是记录的方式不同而已,任何一方的改动,都会在另一方中马上体现出来关键字视图中各字段含义知识讲解•Item:以分层的形式显示所有操作到的控件•Operation:在控件上执行的动作•Value:执行动作时用户输入的数据,或者参数化的参数值•Documentation:用于描述操作步骤的文字说明,一般由系统自动产生Flight系统自动化测试案例ØFlight系统的业务介绍ØFlight系统的测试需求ØFlight系统的测试计划Ø使用QTP实现自动化测试ØFlight系统的业务介绍•登录Flight系统•在Flight系统中创建订单•在Flight系统中打开订单•在Flight系统中修改订单ØFlight系统的测试需求•被测业务流程:登录---创建订单---关闭系统•测试功能:创建订单的功能是否正确•测试工具:UFT12.0自动化测试工具ØFlight系统的测试计划登录用户名:amber密码:mercury订票预订一张伦敦-法兰克福的票•日期:2015-12-12、•起点:London•终点:Frankfurt•航班:默认航班•姓名:Jason•票数:1•等级:Economy脚本保存名称:NewOrderØ使用QTP实现自动化测试录制脚本Ø使用QTP实现自动化测试回放脚本Ø使用QTP实现自动化测试分析结果查看运行手工启动录制的代码知识案例‘启动代码systemUtil.RunC:\ProgramFiles\HP\UnifiedFunctionalTesting\samples\flight\app\flight4a.exe‘登录系统Dialog(Login).WinEdit(AgentName:).SetmercuryDialog(Login).WinEdit(Password:).SetmercuryDialog(Login).WinButton(OK).ClickUFT的对象管理机制ØUFT实现自动化测试的原理Ø对象仓库ØObjectSpy的使用Ø添加对象到对象仓库Ø脚本代码解读如何认识对象?Ø如何识别他?ØQTP实现自动化测试的原理n封装真实被测对象并转化为QTP对象到对象库中;n对比对象库里的对象鉴别属性和运行时的真实被测对象的属性;n如果一致则对对象进行操作,不一致则提示对象无法识别。ØQTP实现自动化测试的原理▷获取被操作对象的属性信息▷使用唯一的对象名在对象仓库中记录该对象▷将对象的全部属性信息存放在对象仓库中▷标识关键属性信息▷在脚本中记录对象名称和相应的动作▷从脚本中获得对象名称(Item字段)▷在对象仓库中找到该对象,并获取其关键属性▷根据关键属性信息在被测程序中定位该对象▷根据脚本中录入的动作和取值执行相应的操作(Operation字段和Value字段)录制测试脚本运行测试脚本Ø对象仓库用来存储QTP测试过程中所识别的对象在QTP中,每一个测试都对应着一个对象仓库测试对象的关键属性值发生改变测试人员就要经常维护对象仓库Resouces-ObjectRepositoryØObjectSpy的使用使用ObjectSpy获取对象的属性当目标对象未被激活,可长按CTRL键,使用鼠标激活对象Ø添加对象到对象仓库创建共享对象仓库文件知识案例导出Test1的Action的对象仓库文件Test1_Action1.tsr代码实践一Calc使用共享仓库要求:1.录制Calc“5+3=”保存为Calc_Test12.创建Calc_Test23.不录制脚本,使用共享仓库的方法在Calc_Test2完成“35+53=”的代码WinApp常用对象知识讲解序号Windows对象描述方法1Windows的对话框控件Activate2WinButton对象按钮Click3WinEdit对象是常见的输入框Set4WinList是指列表控件Select5WinRadioButton是指单选按钮控件SetQTP录制Web系统ØMtours系统的介绍Ø输入数据参数化Mtours系统的介绍知识讲解Mtours是QTP自带的Web飞机订票系统,包括:登录系统、创建订票、打开订单、删除订单等功能。是QTP的一个Demo程序。课堂练习Mtours系统的使用•登录Mtours系统•在Mtours系统中创建订单•在Mtours系统中打开订单•在Mtours系统中删除订单查看运行手工启动录制的代码知识案例‘启动代码SystemUtil.RunC:\ProgramFiles\InternetExplorer\iexplore.exe,,C:\DocumentsandSettings\Administrator,open“‘登录系统Browser(Welcome:MercuryTours).Page(Welcome:MercuryTours).WebEdit(userName).SetamberBrowser(Welcome:MercuryTours).Page(Welcome:MercuryTours).WebEdit(password).SetSecure50641dea5f90aee359f631f0Browser(Welcome:MercuryTours).Page(Welcome:MercuryTours).Image(Sign-In).Click28,9标题买苹果六!步骤A.购买苹果六1.打开在商品搜索框输入“iphone6”3.把第一个搜索结果加入购物车MISSION之苹果六代码实践二Web常用对象知识讲解序号Web对象推荐识别属性方法1Browser 2Pageindex 3WebCheckBoxname 4WebRadioGroupname 5WebEditnameSet6WebButtontextClick7WebListnameSelect8LinkTextClick插入检查点知识导入为什么要插入检查点•根据测试理论知识,分析我们目前所运行的测试代码有什么问题?•没有预期结果执行了测试,却不知道被测系统的功能是否满足需求知识导入什么是检查点?•将特定属性的当前数据与期望数据进行比较,用于判定被测程序功能是否正确。•QTP检查点实现原理录制时,根据用户设置的验证内容,记录数据作为基准数据回放时,QTP捕获对象运行时的数据,与脚本中的基准数据进行比较如果基准数据和运行数据相同,结果为Passed,反之为Failed.检查点的类型表一知识讲解检查点的类型描述用法示例标准检查点检查对象的属性值检查是否选中某单选按钮图像检查点检查图像的属性值检查图像源文件是否正确文本/文本区域检查点检查文本字符串是否显示在网页或应用程序窗口中的适当位置检查预期的文本字符串是否显示在网页或对话框上的预期位置知识导入检查点函数:CheckPropertySyntaxobject.CheckProperty(PropertyName,PropertyValue,[TimeOut])ReturnTypeABooleanvalue.b=obj.CheckProperty(text,20140930qa地质勘探总监,20)verify=Browser(“***系统”).Page(“***系统”).Frame(“Frame”).WebElement(“刷新成功!”).CheckProperty(“innertext”,“刷新成功!”,25)用编程的方式创建检查点使用对象的CheckProperty函数步骤:a.先把要检查的属性所属对象添加到对象库中b.用spy工具探测出属性的名字和对应的值c.使用对象的绝对描述(包含对象),格式:xxx.checkProperty“属性名”,属性值,n(设置检查点的超时时间,毫秒)属性值可以常量或参数化知识导入Mtours检查注册用户是否成功代码实践三要求:1.Mtours中录制注册操作,新建保存为Register2.插入标准检查点Mtours检查登录是否成功代码实践四要求:1.Mtours中录制登录操作,新建保存为Login2.插入图像查点Mtours检查新建订单是否成功代码实践五要求:1.Mtours中录制登录、新建订单操作,新建保存为NewOrder2.插入文本检查点Mtours检查新建订单是否成功代码实践六要求:1.Mtours中录制新建订单操作,新建保存为NewerOrderweb2.插入检查点函数“”输入数据DataTable类型的参数化44知识导入为什么要参数化•当想要测试使用两位数加法器时,遇到什么问题?•需要在代码中录制重复相同的业务流程可以把输入数据设置为可变的值吗?知识导入什么是参数化参数化就是一张包含多组数据的参数表,使之替换录制的脚本中的相应常量值,这样,在脚本运行的时候,就会使用参数表中的数据来代替录制的常量值由于参数表中包含了多组数据,所以执行测试时,会多次自动运行脚本,每次使用不同组的数据来代替脚本,这个运行次数就是参数表中的记录数,而在Mercury的测试工具中,每执行一次测试,称为一个反复。对Flights的登录数据参数化要求:1.被测系统:Flights2.测试要求:使用DatatableType实现DialogLogin中用户名,密码输入的参数化知识案例DataTable类型参数化方法知识讲解方法一:先锁定要参数化的数据,再创建DataTable参数方法二:先创建DataTable参数,再锁定要参数化的数据对Flights的创建订单数据参数化课堂练习要求:1.被测系统:Flights2.测试要求:a使用DatatableType实现Flyfrom与FlyTo数据输入的参数化b使用RandomType实现Passengers的参数化DataTable类型的检查点参数化案例对两位数加法器实现功能自动化测试:1.对两个加数按照侧表进行参数化2.检查预期结果是否与实际结果一致用例编号输入数据预期结果190+501402-20+(-30)-50370+(-50)204-80+20-605-99+98-1699+(-98)1798+(-99)-18-98+991代码实践七谢谢!Thanks!

1 / 51
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功