精通QTP——自动化测试技术领航(修订版)

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

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

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

资源描述

1.3.5总结本章节的内容主要讲的是QTP的录制与回放,市面上,任何一本书都会有这部分的内容。但是,作者对这部分内容进行了提炼,把其他书里的那些几乎等于QTP工具介绍的内容全部剔除,因为那些内容在实际的项目应用中几乎不会用到,保留了能切实在项目中用到的内容,通过自己的实战经验配合大量案例、实例(几乎每一个知识点都有例子)进行细致地讲解,希望读者在学习了本章后,能对QTP这个自动化测试工具的操作,以及如何把工具融合实际项目上有个整体的把握。虽然剔除了很多不需要的内容,但是,由于介绍的是QTP的源头(就好比本章节标题一样“QTP的开关”)而且配合了大量的实例,图文并茂,所以在完成本章节的编写后才发现原来还是需要用到那么大的篇幅才能将重要的知识点讲清楚、讲透。在设计练习题的方面,作者思虑许久,考虑到本章节内容的性质,决定在本章节的巩固练习题中不设置实际操作题,本章节的练习题如果要出成操作题,无非就是传统的“录制与回放”,这样就会不由自主地偏离作者的原有思想。所以,作者决定以选择题(单选和多选)、判断题、排列题等各类有趣的形式出一份类似Exam一样的概念理论题,这些所谓的理论题其实是对整个章节内容知识点的贯穿,希望能起到巩固与复习的作用。知识点巩固和举一反三练习一、知识加强巩固趣味题之过5关(注:选择题可能是单选也可能是多选)1、排列题请排列QTP业务操作及执行流程的顺序。()A、录制B、打开浏览器C、回放D、打开QTP2、选择题QTP的两种脚本运行模式分别是Normal和Fast,它们之间的区别是什么?请在下面4个选项中做出正确的选择。()A、以QC调用的方式执行脚本,运行模式是Fast。B、脚本运行时,如果左侧有黄色箭头,则代表这种运行模式是Fast。C、Normal运行模式的执行速度最快。D、可以在Normal运行模式中设置间隔时间,单位是毫秒。3、选择题请在以下4个选项中选择正确的选项。()A、QTP停止运行的快捷键是Ctrl+Alt+F5,但不提供个性化设置。B、QTP具有Event和Mouse两种回放模式。C、QTP具有Slow、Normal和Fast3种运行模式。D、QTP具有两种录制模式,它们是AnalogRecording和LowLevelRecording。4、选择题请在以下4个选项中选择错误的选项。()A、假设在运行设置中选择Runonallrows选项,在QTP的DataTable中建立4行数据,其中第2行的值为空,则QTP在执行两次迭代后运行结束。B、如果激活Runoneiterationonly选项,QTP在运行时只运行1次C、Browsernavigationtimeout:XXseconds就是设置运行测试步骤之前,等待网页加载时间的最大值,超出了该值后脚本直接退出并报错。D、QTP的运行模式设置具体位置在:Tools→Options→Web→Advanced→Runsettings下的Replaytype。1.3.5总结本章节的内容主要讲的是QTP的录制与回放,市面上,任何一本书都会有这部分的内容。但是,作者对这部分内容进行了提炼,把其他书里的那些几乎等于QTP工具介绍的内容全部剔除,因为那些内容在实际的项目应用中几乎不会用到,保留了能切实在项目中用到的内容,通过自己的实战经验配合大量案例、实例(几乎每一个知识点都有例子)进行细致地讲解,希望读者在学习了本章后,能对QTP这个自动化测试工具的操作,以及如何把工具融合实际项目上有个整体的把握。虽然剔除了很多不需要的内容,但是,由于介绍的是QTP的源头(就好比本章节标题一样“QTP的开关”)而且配合了大量的实例,图文并茂,所以在完成本章节的编写后才发现原来还是需要用到那么大的篇幅才能将重要的知识点讲清楚、讲透。在设计练习题的方面,作者思虑许久,考虑到本章节内容的性质,决定在本章节的巩固练习题中不设置实际操作题,本章节的练习题如果要出成操作题,无非就是传统的“录制与回放”,这样就会不由自主地偏离作者的原有思想。所以,作者决定以选择题(单选和多选)、判断题、排列题等各类有趣的形式出一份类似Exam一样的概念理论题,这些所谓的理论题其实是对整个章节内容知识点的贯穿,希望能起到巩固与复习的作用。知识点巩固和举一反三练习一、知识加强巩固趣味题之过5关(注:选择题可能是单选也可能是多选)1、排列题请排列QTP业务操作及执行流程的顺序。()A、录制B、打开浏览器C、回放D、打开QTP2、选择题QTP的两种脚本运行模式分别是Normal和Fast,它们之间的区别是什么?请在下面4个选项中做出正确的选择。()A、以QC调用的方式执行脚本,运行模式是Fast。B、脚本运行时,如果左侧有黄色箭头,则代表这种运行模式是Fast。C、Normal运行模式的执行速度最快。D、可以在Normal运行模式中设置间隔时间,单位是毫秒。3、选择题请在以下4个选项中选择正确的选项。()A、QTP停止运行的快捷键是Ctrl+Alt+F5,但不提供个性化设置。B、QTP具有Event和Mouse两种回放模式。C、QTP具有Slow、Normal和Fast3种运行模式。D、QTP具有两种录制模式,它们是AnalogRecording和LowLevelRecording。4、选择题请在以下4个选项中选择错误的选项。()A、假设在运行设置中选择Runonallrows选项,在QTP的DataTable中建立4行数据,其中第2行的值为空,则QTP在执行两次迭代后运行结束。B、如果激活Runoneiterationonly选项,QTP在运行时只运行1次C、Browsernavigationtimeout:XXseconds就是设置运行测试步骤之前,等待网页加载时间的最大值,超出了该值后脚本直接退出并报错。D、QTP的运行模式设置具体位置在:Tools→Options→Web→Advanced→Runsettings下的Replaytype。1.4认清并请远离QTP的脚本录制模式阶段要点●了解KeywordView结构。●摆脱KeywordView。●熟练掌握ExpertView的代码结构。1.4.1QTP的两种视图及思维转换从本章节开始,读者将真正开始彻底摆脱脚本录制,正式走向脚本开发的台阶。在开始讲解QTP脚本开发之前,首先需要详加介绍ExpertView这个视图,这个视图是QTP官方指定的脚本开发唯一认可的视图。那么,以何为出发点以及如何介绍ExpertView这个视图呢?决定以抛砖引玉的方式,利用脚本录制视图KeywordView形象地引出脚本开发视图ExpertView。相信只要稍许接触过QTP的读者就一定知道QTP提供两种视图,一种是KeywordView(关键字视图),另一种是ExpertView(专家视图)。Mercury公司开发两种视图的本意是想让不同类型的人使用不同类型的视图。接下来分别对这两个视图进行讲解,并开始抛砖,直到引出一块良田美玉。1.KeywordView(关键字视图)通过关键字视图(一种图形化的视图),QTP提供了一种模块化的表格格式,创建和查看测试或组件的步骤。在录制脚本的过程中,用户在应用程序上执行的每个步骤,在关键字视图中记录为一行,这样用户就可以轻松地修改任何一部分业务步骤。在这里拿“百度”的首页举一个例子,业务操作分3个步骤:点击“图片”链接;在图片搜索栏中输入“凤姐”;点击“百度一下”。在完成了这3个步骤后,关键字视图将包含下列行,如图1-47所示。图1-47图1-47中可以看到关键字视图非常直观有效,使用的用户可以很清晰地看到被录制对象的录制层次及运行步骤。但是,如果想自动化完成一些复杂的业务操作,在这张视图里是绝对不可能的,那就必须切换到专家视图里才行。专家视图等一切事宜就暂且搁置一下。先掌握关键字视图的界面、原理和工作机制。在关键字视图中,一共分4列:Item、Operation、Value和Documentation。Item:记录了所有对象。Operation:该对象的操作。Value:对象操作所用到的值。Documentation:QTP自动生成的描述语句,描述了是什么对象,做了什么,怎么做。关键字视图的介绍马上就要结束了,最后作者分解这个视图(语句会很随意)后会直接进入专家试图的解说。前面说过“在录制脚本的过程中,用户在应用程序上执行的每个步骤在关键字视图中记录为一行”,在本例中一共记录到6个步骤,如下:●打开浏览器;●进入百度首页;●点击[图片]链接;●进入图片页面;●在[搜索框]输入“凤姐”;●点击[百度一下]。2.ExpertView(专家视图)瞬移成功,首先肯定是要讲专家视图的工作原理,“QTP在关键字视图中的每个节点在专家视图中对应一行脚本”。读者可能一下子不明白这句话,那先来看两段代码,第一段代码是将关键字视图的工作原理用在专家视图上的错误代码,转换后的脚本如下:Browser(百度一下,你就知道)'图1-47中页面1部分Page(百度一下,你就知道)Link(图片).Click'图1-47中页面2部分Page(百度图片—全球最大中文图片库)WebEdit(word).Set凤姐WebButton(百度一下).Click再看一下专家视图中正确的代码:'图1-47中页面1部分Browser(百度一下,你就知道).Page(百度一下,你就知道).Link(图片).Click'句1'图1-47中页面2部分Browser(百度一下,你就知道)._Page(百度图片—全球最大中文图片库).WebEdit(word).Set凤姐'句2Browser(百度一下,你就知道)._Page(百度图片—全球最大中文图片库).WebButton(百度一下).Click'句3看完这两段代码以后,再回过头来理解专家视图的工作原理,专家视图和关键字视图是完全不同的,用通俗点的讲,专家视图并不像关键字视图那样,每个步骤都在视图中记录成一行,在专家视图中,必须定位到业务操作最终的对象,并且每一句的结束,以及最终的对象的业务行完毕为基准。在这里,最终的对象就是节点,专家视图中的一句代码是关键字视图中好多个步骤的结合。而那段作者自己伪造的代码就不是,每一句都不完整,要么有头没尾,要么无头有尾,这就是KeywordView和ExpertView最根本的区别,下面,一句句看专家视图中的代码构成,先以“句1”来说,“句1”中集合了3个对象。Browser—该对象如果出现必定是第一层,可以把它想象成打开的一个指定浏览器,具体哪个浏览器那么就由后面括号里的参数决定,如:Browser(百度一下,你就知道),这样QTP就能很准确地识别到底打开的是哪个浏览器了。Page—浏览器下肯定有各种各样的网页。那要定位这个对象也就很简单了,和上面一样,在后面的括号内加参数,如:Page(百度一下,你就知道),这样QTP就知道了,原来是要定位一个叫“百度一下,你就知道”的网页,然后其他网页会一概不理!Link—在定位了前两个对象后,终于可以定位到要进行业务操作的对象了。可是,页面上如果有好多Link呢,怎么办?只能和之前一样,在后面的括号内写进参数,如Link(图片),这样QTP就不会乱了!好了,在最终找对了要操作的对象后,就可以给出指令,命令它做事情了,如需要它进行点击操作,那就给Link对象来个Click方法,到此,整个语句就可以完毕了。分析:“句1”已经被拆解,作者在这里用最通俗的语言方式连贯地叙述一遍“句1”,希望能让新人听明白。→在一个叫做“百度一下,你就知道”的浏览器下的一个名曰“百度一下,你就知道”的网页页面上找到一个叫“图片”的链接,找到后,点击它。小提示:在上面的例子中,是以Browser().Page().Link()的结构出现的,但实际上,在Web测试中并不只有这一种固定形式,除了Browser必定是在第一层以外,Page以及Link(或其他所有对象控件,如WebEdit等)都不是固定必须要接在前面那层的后面的,比如:(2)Bro

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

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

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

×
保存成功