书签 分享 收藏 举报 版权申诉 / 60
文档类型

QTP培训PPT

  • 上传人:超****个人认证
  • 文档编号:4715336
  • 上传时间:2021-11-25
  • 格式:PPTX
  • 页数:60
  • 大小:1.16MB
  • 《QTP培训PPT》由会员分享,可在线阅读,更多相关《QTP培训PPT(60页珍藏版)》请在万象文库上搜索。

    1、QTP工具应用初级培训 测评中心测评中心 刘德 课程概述 - you will know in next 2 hours 测评中心测评中心 1.QTP简述 *1.1录制与回放 *1.2熟悉QTP工作环境 2.QTP工作原理 *2.1关键字驱动测试(Keyword-Driven testing) 3.脚本优化 *3.1调试 *3.2参数化 *3.3检查点 *3.4使用对象方法 *3.5描述性编程 *3.6自定义函数 *3.7执行与报告 1.QTP功能简述 测评中心测评中心 1.1录制与回放 录制准备工作 *明确需要录制的操作,准备好所需要的数据 *关闭已经打开的浏览器,关闭一些不必要的其他程序 1.QTP功能简述 测评中心测评中心 打。

    2、开QTP,new一个test, 在AutomationRecord and Run Settingweb选项卡中设置需要录制的地址: 1.QTP功能简述 测评中心测评中心 单击Recod 按钮,QTP会自动打开被测站点,在被测系统上进行操作,结束后点stop,QTP将自动生成脚本代码 : 保存脚本.点击run按钮,观察代码自动回放的结果 1.QTP功能简述 测评中心测评中心 1.2熟悉QTP工作环境 2.QTP工作原理 测评中心测评中心 一个重要的工具:object spy 1.QTP功能简述 测评中心测评中心 菜单简介 *File菜单:用来新建,打开,保存测试脚本,函数文件等 *FileSettings:设置当前脚本运行环境的相关。

    3、参数 *Automation:设置QTP录制与运行的相关参数 *Help:QTP自带参考文档 *Edit:脚本文本编辑功能扩展 *View:自定义工具视图模式 *insert:提供手工添加检查点,模块儿调用等功能 *debug:提供脚本调试功能 *resource:对象库,函数库,场景恢复文件管理入口 *tools:QTP对象识别等级定义及其他一些工具属性的设置 2.QTP工作原理 测评中心测评中心 1.2关键字驱动测试(Keyword-Driven testing) 看看刚才录制的那段代码: Keyword view Expert view 2.QTP工作原理 测评中心测评中心 当我们选择选中keyword view 视图中某一个。

    4、对象,点击object from repository时会出现对象库窗口 2.QTP工作原理 测评中心测评中心 两个重要概念:对象&对象库 *对象:在QTP”眼中”被测系统的构成元素即称之为对象。对象通过属性建立了与被测系统元素的一一对应关系。 *对象库:对象的有序集合。一次测试过程中涉及的被测系统对象的有序集合就构成了该次测试过程的对象库 2.QTP工作原理 测评中心测评中心 对象库是QTP录制与回放过程中连接脚本与被测系统的中间体。 录制过程 回放过程 脚本 对象库 被测系统 脚本 对象库 被测系统 2.QTP工作原理 测评中心测评中心 疑问:他们三者之间(脚本,对象,被测系统)是如何有效工作的? 我们的疑问就是上页图中。

    5、的四个“箭头”,而且不难发现,问题1与2,3与4是等价的,互为过程和逆过程。所以只需弄清楚两个问题: 1:对象库怎么跟被测系统对应 2:脚本怎么跟对象库对应 2.QTP工作原理 测评中心测评中心 先看问题1:对象库与被测系统的关系 来看看刚才脚本的对象库: 下面是“百度一下”按钮在对象库中的属性。 使用spy工具查看更多属性 2.QTP工作原理 测评中心测评中心 Class Name:表示这个对象的类型是”WebButton” value:这个对象的值(按钮的显示文字)内容 2.QTP工作原理 测评中心测评中心 再查看一下系统原文件,查找到”百度一下”这个按钮的部分: 对比系统页面原文件和QTP对象属性,会发现他们存在对应关系: 对。

    6、象库属性 html代码 calss = s_btn class =“s_btn” html tag =input name =“百度一下” value =“百度一下” 2.QTP工作原理 测评中心测评中心 对象库中的对象获取了被测系统控件的一些特殊属性,并且通过这些特征属性与被测系统控件建立了对应关系。 再来看问题2:对象库与脚本代码间的关系 2.QTP工作原理 测评中心测评中心 先看脚本代码:两个视图之间是等价的,只是显示的方式不同。在keyword view下的脚本可以看出脚本行所映射到的对象。 再看下我们的对象库结构(结论很明确了): 2.QTP工作原理 测评中心测评中心 每一句代码都包含三个部分: 获取对象,定义操作和绑定数。

    7、据 获取对象的部分即在对象库中做一次寻径,定位到一个对象 2.QTP工作原理 测评中心测评中心 2.1关键字驱动测试(Keyword-Driven testing) 总结一下: QTP获取被测系统控件的特殊属性,并通过这些属性建立相应的对象,通过创建脚本操作对象库中的对象从而映射到操作被测系统中对应的控件。 AQ? 1:那么多属性,QTP是如何定义何为特殊属性的? 2:是否会存在完全相同的两个对象? Answer1:QTP对不同种类的控件(组件)都有默认设置的特殊属性。比如说对刚才百度页面的“百度一下”按钮,对这类WebButton控件,默认的特殊属性就是三个:type,name和html tag。当然你也可以在:toolsweb 。

    8、event recording configration里进行自定义设置: Answer2:不会。也许会有极为相似的,但仔细观察(spy一下)总会有区别的-即使是双胞胎也会有不同的 3.脚本优化 测评中心测评中心 3.1调试 我们来录制一段原始代码,如下: 并不是所有的系统录制的脚本都能直接回放成功。这与开发所使用的技术以及规范性有一定关系。所以我们必须对脚本进行调试。这也是自动化过程中最耗费资源的一项工作。 3.脚本优化 测评中心测评中心 回放脚本,报错:提示对象找不到”WebTable”对象。仔细查看脚本会发现,脚本中缺少对一级菜单的mouseover动作,也没有对三级菜单的click操作。这些导致没有出现目标子页面,所以报对象。

    9、找不到错误。 3.脚本优化 测评中心测评中心 查看发现对象库中并没有”数据分析”这个对象,可以手动添加。并对对象库无用对象进行整理,只留下必须的对象。 3.脚本优化 测评中心测评中心 对脚本也进行相应的整理,这次就可以回放成功: 回放成功后可以查看,执行报告,但是这份报告是没有实际意义的,因为并未能给我们提供想要的结果。 3.脚本优化 测评中心测评中心 *在运行与调试脚本的时候善用spy工具,维护好对象库,让对象命名带有语义,使得脚本具有可读性;设置断点,必要时添加调试信息输出。 *脚本的调试是一个反复的动作,当脚本发生修改,被测系统发生变更后都需要进行脚本的调试,确保脚本的可用性。这个工作量是比较巨大的。 *特定系统的脚本的维护中。

    10、,经验会发挥很大的作用。 3.脚本优化 测评中心测评中心 3.2参数化 保留业务逻辑部分,将绑定的数据进行参数化。扩大测试覆盖。 3.脚本优化 测评中心测评中心 适合参数化的数据: 经常变动的或具有不同业务逻辑类型的关键数据 此例中我们将登陆的用户,查询条件中的纳税人识别号,查询日期进行参数化。 3.脚本优化 测评中心测评中心 参数化的实现可以在keyword view 和Expert view中均可以实现,如下图为keyword view中的操作: 可以使用的参数的类型: DataTable,Environment,RandomNumber,Parameter 本例中我们关注,datatable和parameter参数化的两种实现。

    11、方法。 3.脚本优化 测评中心测评中心 DataTable是一张EXCEL表,QTP可以从DT读取和写入数据。对一次执行来说,QTP会读取DT中的一行。 语法: DataTable(“sheetname”,”columname”) 首先我们设置DT中的参数,每列为一个参数。如下,建立了我们需要的6个参数列 3.脚本优化 测评中心测评中心 然后在keyword view中,找到要参数化的行,点击参数化的图标,弹出参数设置窗口,选择datatable类型,绑定参数列,即可。 切换到expert view 可以看到代码的变化。 如果直接在expert view里修改代码为 DataTable(“用户名”,dtGlobalSheet)也能达。

    12、到一样的目的。 3.脚本优化 测评中心测评中心 按照刚才的操作,我们将脚本参数化后如下: 给参数赋值: 3.脚本优化 测评中心测评中心 前面提到过,脚本保存的是业务逻辑部分,参数化将数据与脚本分离,单独存放。当数据有多种类型的时候,可以通过增加DT中的行来复用业务逻辑代码,循环执行,达到测试覆盖的扩大。 设置RUN属性,为在所有行上运行: 3.脚本优化 测评中心测评中心 运行完后,我们可以查看运行的结果: 思考:这是否是我们测试的目的? 不是。本例案例我们测试的目的是查询到本纳税人在查询时间段内的购销配比是否是我们所预期的值。 我们还缺少一个检查点。 3.脚本优化 测评中心测评中心 3.3检查点 *检查点:即对测试所关注的事件或数据。

    13、做出判断并给出检查的结果。这是测试的目的。 *QTP提供的丰富的自带检查点功能:标准检查点,文本检查点,数据库检查点等。但是自带的检查点适用条件比较固定,不能满足测试系统多变的要求。所以我们经常还要自定义检查点。 *本例中我们将介绍标准检查点,并自定义一个检查点。 3.脚本优化 测评中心测评中心 添加一个标准检查点: 选中脚本中一行,右键insert standerd checkpoint。 例如,我选择的点击查询的一行,会弹出如下对话框: 此对话框罗列出“查询”这个按钮的多个属性及其值。我们可以更改属性的期望值,甚至将期望值参数化,从而达到检查和动态检查的目的。 3.脚本优化 测评中心测评中心 运行脚本,查看报告,可以看到检查结果。

    14、是pass。如果更改期望值,再运行时检查结果将是failed。 接下来我们自定义一个检查点,用来检查查询结果表中购销配比数值是否是我们期望的。 首先我们用spy工具,查看一下查询结果表的对象结构: 3.脚本优化 测评中心测评中心 我们发现查询结果是一个WebTable对象,而且我们的对象库中并没有这个对象。所以我们可以手动来添加它。 注意:为是的脚本可读性好,将添加的对象改命为:查询结果,保存 3.脚本优化 测评中心测评中心 打开HELPQuick Test Professioner Help,搜索WebTable,进入webtable object页,我们可以看到WebTable对象可以使用的诸多方法。 3.脚本优化 测评中心测评。

    15、中心 我们想要检查的是WebTable这个表格中某行某列的值,所以我们可以用方法getcelldata来获得 3.脚本优化 测评中心测评中心 添加代码如下: 执行:会弹出信息窗口显示购销配比比例为200.0 下面我们使用一个判断语句来检查一下这个购销比例是否是我们预期的。我们将预期值放到DT的“购销比例”列中。添加代码如下 3.脚本优化 测评中心测评中心 执行,查看报告结果: 成功时: 失败时: 3.脚本优化 测评中心测评中心 3.4使用对象方法 上一节中我们已经使用了WebTable对象的getcelldata方法,来获取了表格中某个单元格的内容。 对于不同种类的对象QTP提供了很多方法。具体内容可以使用QTP帮助文档查看。 本例。

    16、重点讲一下方法:GetPOroperty方法 在帮助文档中,方法说明如下: 3.脚本优化 测评中心测评中心 GetROProperty方法可以在运行态获取对象制定属性的值。 本例将用次方法改写之前添加的对“查询”按钮的标准检查点。代码如下: 通过此方法,我们可以通过获取系统当前的运行情况,来实现脚本代码的逻辑控制。 其他对象方法还有很多,这里不再赘述。需要时可查看帮助文档。 3.脚本优化 测评中心测评中心 3.5描述性编程 问题:为什么对象库在QTP中不可或缺? 原因:对象库存放了QTP脚本执行时必须的对象的属性。没有这些属性,QTP无法定位到被测对象。 所以只要我们能够以其他方式提供这些必要的属性,对象库也并不是不可或缺的。 描述。

    17、性编程即是这种思路的实现。 3.脚本优化 测评中心测评中心 本例将创建使用描述性编程改写之前的案例做“查询”操作的部分: 这句脚本能够运行,是因为背后有对象库的支持,如果我将对象库中的“查询”按钮删除,那么将会报错: 删除”查询” 3.脚本优化 测评中心测评中心 改写一下脚本如下名即可(因脚本较长,截图看不清使用了with): 注意书写的语法: 3.脚本优化 测评中心测评中心 在使用描述性编程中的关键性问题在于怎么样确定使用哪些属性。 例如上例中,WebButton按钮那么多的属性,为何偏偏选中了calss name 和name两个呢? 我们先用spy工具查看对象,分析其诸多属性中哪些会是其特征属性,以此来确定使用哪些属性来“描述”。

    18、它。描述性编程也就是这个意思。 3.脚本优化 测评中心测评中心 为何要用描述性编程? 描述性编程提供了一种将属性和属性值剥离的途径,这样就让我们参数化成为可能,从而增加脚本的灵活性。最终的目的是增加脚本的复用,控制脚本的量,减少维护工作量。 看一个示例: 3.脚本优化 测评中心测评中心 此代码段功能: 进入给定的菜单路径页面。只要给定一个路径,调用这段代码就可以,而无需录制打开不同代码的脚本。 3.脚本优化 测评中心测评中心 通过上页描述性编程的例子,我们很容易引出下一节的内容: 自定义函数 3.6自定义函数 *对于经常被重复调用的代码段,我们希望每次只是调用它,而不是重复书写一遍。所以可以将这样的代码段封装为一个函数,以供调用。 。

    19、*除此之外,我们也可以通过函数来实现一些扩展的功能。 3.脚本优化 测评中心测评中心 新建一个函数文件: 我们将刚才选择菜单页面的代码封装进去,函数有一个输入参数:dir,用来接收我们制定的页面路径:“稀土监控数据分析查询统计稀土产品购销配比情况查询” 3.脚本优化 测评中心测评中心 为了方便演示,我们还定义另外两个函数: 打开浏览器的函数opIE(url,modle) url:代开的地址 Modle:打开模式 3.脚本优化 测评中心测评中心 另外一个函数登陆函数login(url,username,pwd) url:应用地址参数 Username:用户名 Pwd:密码 保存函数文件为:function_lib.vbs 3.脚本优化。

    20、 测评中心测评中心 新建一个案例,设置好引用的函数库为function_lib.vbs. 只有添加了引用后,自定义函数文件中的函数才可以直接在案例脚本中使用。 3.脚本优化 测评中心测评中心 书写脚本代码如下: 运行结果:QTP自动关闭其他ie浏览器,打开新的浏览器到系统登录页,登录,并进入制定的菜单页。 这个功能是很多案例所必须的,所以省去了每个案例都自己录制时间,减少了代码量。 3.脚本优化 测评中心测评中心 对于这样的案例,我们同样也可以进行参数化。 除了如上所示的对功能脚本封装的函数,也可以定义其他功能的函数,例如自定义一个判断年份是否为闰年的函数: ISLeapYear(inYear),返回值为true即是闰年,false。

    21、则不是 这样功能函数可以扩展我们在编写脚本时的一些功能,减少工作量。 3.脚本优化 测评中心测评中心 3.7执行与报告 做这么多工作的目的是为检验被测系统是否达到要求。最后我们要查看脚本的执行报告。 在执行之前,QTP会提示你存放报告的地址,如果不另制定地址,执行结果会保存在案例文件夹根目录下:Res1,Res2代表两次执行的结果。 可以用结果查看器打开。 指定报告存放地址: 案例根目录下的结果文件: 3.脚本优化 测评中心测评中心 报告的分析: 设置一个好的检查点,可以令报告分析变得一目了然。 结束语 测评中心测评中心 *QTP是一个工具,就像一把斧头,有人只能用来砍倒大树,有人却可以用来制作出家具。如何使用好工具,很多工作其实在工具之外。 *不能迷信自动化。自动化通过,不代表系统没有问题;自动化不通过也不代表系统就有问题。如果说自动化有什么作用,我觉得是提供了一个尽量早的发现问题的可能。 *QTP的内涵很丰富,新版本性能仍在不断更新中。学习要与时俱进,善用帮助文档,关注技术论坛,归纳总结,积累代码。 建议大家闲暇时多上51testing论坛看看。 本周五还有一个QTP测试框架的培训,是如何善用QTP开展工作的一个创新性的尝试。 欢迎大家参加 测评中心测评中心 谢谢 *QTP相关问题请到部门论坛研发与测评版发帖讨论 *为积累学习资料,我发了一个QTP学习资源的种子贴,方便大家分享自己的资源 。

    1. 1、本文档共60页,下载后即可获取全部内容。
    2. 2、本文档由用户提供并上传,付费之前,请先通过免费阅读内容等途径辨别内容,收益归属内容提供方;如有侵权或不适当内容,请进行举报或申诉。
    3. 3、本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
    4. 4、万象文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
    提示  万象文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:QTP培训PPT
    链接地址:https://www.2wx.com/view-4715336.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 最近更新 - 网站客服 - 联系我们

    网站客服QQ:173720847

    copyright@ 2019-2023 万象文库(www.2wx.com)网站版权所有

    备案号:鄂ICP备19026039号-1

    本网站采用C2C交易模式,用户上传的文档直接被用户下载,网站仅作为一个中间服务平台,网站所有文档下载所得收入归上传人(包括作者)所有。万象文库网只提供储存空间,不会对上传内容本身作任何修改或编辑。如文件中包含任何侵犯您的版权或隐私,请立即通知我们,我们将立即予以删除!