




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
QTP之测试结果手工测试时,我们通常是执行一条用例,填写测试结果。如果用例fail,则需要提交缺陷,有时为了让缺陷更易于理解,还需要截图,最后将bug汇报给相关的开发人员。当所有用例执行完,还需要统计用例通过率。本节,我们将介绍如何在QTP中进行这些操作。本节内容分为三块:(1) 概述。介绍results的内容和设置(2) Reporter对象、CaptureBitmap()、发送邮件的方法(3) 实例演示。通过一个实例,贯穿本讲内容1 概述1.1 Results内容Results的打开有三种方法:(1) 选择菜单栏上的tools,选择run子菜单,选中View results when run session ends选项。选中后,每次脚本运行结束后,会自动打开results。(2) 选择菜单栏上的Automation,点击results子菜单(3) 直接点击工具栏上的results图标。为了查看results的内容,这里,我们先运行一段脚本。运行后,打开results,查看运行结果如下所示:左边显示测试结果树,以阶层图标的方式显示。树中包括已经执行的所有操作。每次执行成为一个反复(iteration)。右边显示测试结果的详细信息。上面显示的是测试的方式、名称及时间。第一个表格显示每个反复的通过情况。第二个表格显示测试脚本的检查点,运行结果包括failed、passed、warnings的通过率。点开树的子节点,右侧显示的是该节点的具体信息和截图情况。1.2 Results设置根据运行前后的设置,分两个阶段介绍Results的设置:1运行前的设置(1) 点击菜单栏的tools,选择options子菜单,选择Run选项,可设置项如下所示:View results when run session ends该选项用来设置报告是否自动打开的选中,则:在测试运行完毕后,自动打开测试结果界面Allow other Mercury products to run tests and components该选项设置是否允许链接Mercury其他产品的。选中,则:设置QTP允许外部程序执行。这样,对于fail的测试用例,我们可以连接QC并添加缺陷。Save still image captures to results该选项用于设置截图的。选择Always,则所有的画面保存到测试结果中选择For errors,则只有error时,把画面保存到测试结果中选择For errors and warnings,则当error和warning时,把画面保存到测试结果中Save movie to results该选项是用于录制执行画面的。使用该选项时,需要安装录制截屏的驱动,而且必须在管理员允许的情况下才可以安装。一般情况下,我们没有必要使用该功能。(2)点击工具栏上的Run(或按F5键),打开下图:通过该对话框,可以设置results的保存路径。第一个选项是:选择一个保存的文件夹;第二个选项是:将结果保存在临时文件夹中。2运行后的设置点击results按钮,打开当前的results,点击菜单栏上的view,点击子菜单Filters,打开如下画面:该画面是用来过滤报告中查看的信息的(1) Iterations查看所有或指定范围反复的测试结果(2) Status 查询某些状态的测试结果(3) Content查询单个或所有action的测试结果 当有fail的用例时,我们可以点击results中菜单栏上的tools,选择子菜单Quality Center Connection,输入QC的服务器地址,连接QC。然后选择子菜单Add Defect即可添加缺陷。2 相关对象QTP自动生成的测试结果存在一些缺陷:1. 从上到下、无分类的显示用例的执行结果2. 所有截图都是整个页面,且都放在results的对应步骤中3. 当用例不通过,发现缺陷时,系统不会自动发送邮件到指定人员为了改进这些缺陷,让测试结果更美观、有意义,下面将介绍Reporter对象、CaptureBitmap()函数以及发送邮件的方法。2.1 Reporter对象这里根据QTP中公开和未公开的方法来讲解。1公开的属性和方法在脚本中,输入reporter.,可以看到弹出的选项有:三个属性:Filter、ReportPath、RunStatus一个方法ReportEvent一般最常用的是ReportEvent方法下面分别讲解这些属性和方法(1)ReportPath 当前脚本执行后,结果的存放位置(2)ReportEvent报告一个event的结果使用方法:Reporter.ReportEvent EventStatus, ReportStepName, Details , ReporterEventStatus有四种值:micDone, micPass, micFail, micWarning。micDone是脚本顺利执行,向报告中发送不影响脚本执行结果的信息。micPass是指脚本通过,并且需要向results中输出passed的结果。micFail是指脚本失败,并且需要向results中输出failed的结果。micWarning是指不影响脚本的执行,但是需要向results中输出一个警告信息。ReportStepName是指报告的步骤名称。Details是对该事件的描述(3)RunStatus 获得当前脚本的运行结果(4)Filter为方便查看,可以根据状态来设置显示的内容。Reporter.Filter的几个值:0(rfEnableAll):默认值,显示所有结果1(rfEnableErrorsAndWarnings):仅显示warning或者fail的结果2(rfEnableErrorsOnly):仅显示fail的结果3(rfDisableAll):不显示任何结果这个属性的作用和result中设置filter的status功能一致。实例:首先,通过reportevent方法向日志中输入一个fail的节点reporter.ReportEvent micFail,不选择记录删除,&& &指定的提示信息不存在& 在QTP中,字符串是可以用html语言表示的;本条语句生成一条fail的记录然后,我们判断当前节点的运行状态是否是fail,如果是,则显示“当前节点fail”的弹出框If reporter.RunStatus=micFail Thenmsgbox 当前节点fail!End If接着,通过过滤器,设置仅显示fail的结果reporter.Filter=rfEnableErrorsOnly这时,我们通过reportevent方法向日志中输入一个pass的节点reporter.ReportEvent micPass,点击记录右侧的删除按钮,确认删除框出现 生成一条Pass的记录最后,我们显示测试结果的保存位置msgbox reporter.ReportPath运行脚本,设置保存路径为D:test,点击OK显示了“当前节点pass”的弹出框,说明runstatus成功判断了。再查看保存路径,确实在D盘test文件夹下。最后,我们查看测试报告,仅存在运行结果为fail的执行步骤,相应的描述和详细信息也正确。2未公开的属性和方法(1)UnSetContext 退出该节点,返回日志树的上一层(2)SetContext 把某个节点作为父节点,后续写入的Log都将在这个父节点之下。使用方法:Reporter.SetContext intContext(3)LogEvent 该方法用于写入新节点。使用方法:intContext = Reporter.LogEvent(User, dicMetaDescription, Reporter.GetContext) 实例:Set dicMetaDescription = CreateObject(scripting.Dictionary) 设置节点的状态dicMetaDescription(Status) = micFail 设置节点的名称dicMetaDescription(PlainTextNodeName) = 删除功能 设置节点的详细描述信息(可以使用HTML格式)dicMetaDescription(StepHtmlInfo) = 删除功能验证 设置节点的图标dicMetaDescription(DllIconIndex) = 210dicMetaDescription(DllIconSelIndex) = 210 节点图标从ContextManager.dll这个DLL文件中读取dicMetaDescription(DllPAth) = E:Program FilesMercury InteractiveQuickTest ProfessionalbinContextManager.dll 使用Reporter对象的LogEvent写入新节点intContext = Reporter.LogEvent(User, dicMetaDescription, Reporter.GetContext) 调用Reporter对象的SetContext把新写入的节点作为父节点 Reporter.SetContext intContext 写入一个节点reporter.ReportEvent micDone,上一节点的子节点,成功 调用Reporter对象的UnSetContext方法,返回上一层 reporter.UnsetContext 写入一个节点reporter.ReportEvent micDone,返回上一层,成功 2.2 截图当一个用例fail时,往往需要截图,更好的说明缺陷。QTP中,截图函数为:object.CaptureBitmap(sFile)其中,object可以是一个指定的对象。sfile是一个具体的路径,包括文件名称 实例:将当前桌面进行截图,并保存为“c:test.bmp”desktop.CaptureBitmap(c:test.bmp)2.3 发送邮件在报告缺陷时,往往还需要发送邮件给相关的开发人员。QTP的发送邮件方法如下:首先,创建一个Outlook的Application自动化对象语句为:Set objOutlook = CreateObject(Outlook.Application)然后,创建一个MailItem的邮件对象语句为:Set objOutlookMsg = objOutlook.CreateItem(olMailItem)接着,需要定义邮件的收件人、抄送人、邮件主题、邮件内容,以及附件的添加。语句如:objOutlookMsg.To = str_to objOutlookMsg.CC = str_cc objOutlookMsg.Subject = str_subject objOutlookMsg.Body = str_body strAttachment =“c:Result.xlsx“ objOutlookMsg.Attachments.add(strAttachment)最后,通过该邮件对象的send属性就可以成功发送邮件了语句如:objOutlookMsg.Send 实例:创建自动化对象Set objOutlook = CreateObject(Outlook.Application)创建邮件对象Set objOutlookMsg = objOutlook.CreateItem(olMailItem)设置收件人、抄送人、主题、内容、附件objOutlookMsg.To = tulihong_2006163.comobjOutlookMsg.CC = tulihong_2006objOutlookMsg.Subject =QTP学习objOutlookMsg.Body = 测试发送邮件功能strAttachment =c:test.bmp objOutlookMsg.Attachments.add(strAttachment)发送邮件objOutlookMsg.Send3 实例本实例首先设置了results的保存路径、手动打开及error时打开。然后,采用了 的删除功能,输出fail和pass两种情况的report,同时,当结果fail时,截图并发送邮件。最后,通过filter过滤出fail的结果。实例:=对象库=基本对象Set browser_5e=description.Create()browser_5e(title).value=.*Set page_5e=description.Create()page_5e(title).value=.*删除对象Set DeleteLink_record_5e=description.Create()DeleteLink_record_5e(index).value=0DeleteLink_record_5e(name).value=删除Set DeleteLink_all_5e=description.Create()DeleteLink_all_5e(index).value=1DeleteLink_all_5e(name).value=删除Set WebBtn_delete_no=description.Create()WebBtn_delete_no(name).value=否Set WElementDelete=description.Create()WElementDelete(innertext).value=请选择一条记录!=方法=Function del_All_message()Browser(browser_5e).Page(page_5e).link(DeleteLink_all_5e).Clickdel_All_message=Browser(browser_5e).Page(page_5e).webElement(WElementDelete).ExistEnd FunctionFunction del_One_message()Browser(browser_5e).Page(page_5e).link(DeleteLink_record_5e).Clickdel_One_message=Browser(browser_5e).Page(page_5e).webButton(WebBtn_delete_no).ExistEnd FunctionFunction screen_capture(picName)Browser(browser_5e).Page(page_5e).CaptureBitmap(picName)End FunctionFunction SendMail(str_subject,str_body,str_to,str_cc,str_attachment) Set objOutlook = CreateObject(Outlook.Application) Set objOutlookMsg = objOutlook.CreateItem(olMailItem) objOutlookMsg.To = str_to objOutlookMsg.CC = str_ccobjOutlookMsg.Subject = str_subject objOutlookMsg.Body = str_body objOutlookMsg.Attachments.add(str_attachment) objOutlookMsg.Display objOutlookMsg.Send Set objOutlook = Nothing Set objOutlookMsg = NothingSet olMailItem = NothingEnd Function=测试脚本=set dicMetaDescription = CreateObject(scripting.Dictionary)dicMetaDescription(Status) = micFaildicMetaDescription(PlainTextNodeName) = 删除功能dicMetaDescription(StepHtmlInfo) = 删除功能验证dicMetaDescription(DllIconIndex) = 210dicMetaDescription(DllIconSelIndex) = 210dicMetaDescription(DllPAth) = E:Program FilesMercury InteractiveQuickTest ProfessionalbinContextManager.dllintContext = Reporter.LogEvent(User, dicMetaDescription, Reporter.GetContext)Reporter.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025建筑材料合作合同
- 2025租房合同样本
- 培训购买服务合同范本
- 房屋出售合同范本 简易
- 购买种鸽定金合同范本
- 教育机构招聘合同范本
- 项目资金借贷合同范本
- 2025年北京市房屋租赁合同(直接交易版)
- 住宅防水协议合同范本
- 2025餐饮供应合同模板「参考」
- JJF(新) 146-2024 可燃气体和有毒气体检测报警控制系统校准规范
- 电焊工安全用电培训
- 安宁疗护服务规范
- 《高血压的护理常规》课件
- 2025年广西广投智能科技有限公司招聘笔试参考题库含答案解析
- 《细胞信号与分子通路》课件
- 妇产科护理技能实训 课件 2.2.2产前会阴清洁与消毒
- 《更年期的中医调理》课件
- 2025年内蒙古自治区体育局招聘12人历年管理单位笔试遴选500模拟题附带答案详解
- 重庆潼南2024年面向社会招聘教育系统人员历年管理单位遴选500模拟题附带答案详解
- 《建筑设计防火规范》课件
评论
0/150
提交评论