第五章-自动化测试与QTP.ppt
《第五章-自动化测试与QTP.ppt》由会员分享,可在线阅读,更多相关《第五章-自动化测试与QTP.ppt(186页珍藏版)》请在一课资料网上搜索。
1、第五章 自动化测试与QTPQTP5.1自动化测试简介5.2 QTP简介5.3 QTP功能基础5.4 QTP自动化实践5.1自动化测试简介自动化测试,顾名思义,利用一些工具或编程语言,通过录制或编程的方法,模拟用户业务使用流程,设定特定的测试场景,自动寻找缺陷。目前业内较为流行的商用版自动化测试工具代表有HP公司的Quick Test Professional与IBM公司的RFT,开源自动化测试工具则以Selenium为代表。自动化测试优点是能够快速、重用,替代人的重复活动。回归测试阶段,可利用自动化测试工具进行,无须大量测试工程师手动重复执行测试用例,极大的提高了工作效率。有时需做一种压力测试
2、,需要几万甚至几十万个用户同时访问某个站点,以保证网站服务器不会出现死机或崩溃现象。一般来说,要几万人同时打开一个网不现实,但利用测试工具,比如LoadRunner,可非常容易地做到。当然,自动化测试的缺点也很明显,它们只能检查一些比较主要的问题,如崩溃、死机,但是却无法发现新的错误。另外,在自动测试中编写测试脚本工作量也很大,有时候该工作量甚至超过了手动测试的时间。自动化测试主要要求的技能1)基本的软件测试基本理论、设计方法、测试方法,熟悉软件测试流程。2)熟悉一门语言的使用,常用的编程技巧。具体需要使用的语言要结合你所使用的工具,例如:QTP需要掌握VBScript、Selenium需要掌
3、握JAVA。3)掌握一个比较流行的自动化测试工具。虽然掌握一个自动化工具不是必须的,但是初学者建议还是从一个工具开始入手。通过工具的学习可以了解一些常见的自动化框架的思想,另外也可以通过此工具相对容易的进行自动化测试一些实施。自动化测试主要要求的技能4)熟悉被测系统的相关的知识点。比如如果对一个Web下系统进行自动化测试,那么需要熟悉Web系统用到的一些知识点,比如HTML、Ajavx、Web服务器、数据库。5)熟悉一些常见的自动化测试框架,比如数据驱动、关键字驱动。自动化测试团队的规模视项目规模而有所区别,团队规模从几人到几十人不等5.2 QTP简介Quick Test Profession
4、al,简称QTP,其前身是WinRunner,后随着市场需求的变化而改为QTP。由国际知名测试工具生产公司Mercury研发,HP公司收购Mercury后,加大了在自动化测试工具研发方面的投入,使得QTP增加了很多新的功能特性,其市场占有率一度达到70%以上,QTP是新一代自动化测试解决方案,采用了关键词驱动(Keyword-Driven)测试的理念,极大简化自动化测试流程,采用录制-回放模式自动生成脚本,测试人员可非常便捷的实施自动化测试工作。5.2 QTP简介本书以QTP Version10.00版本进项讲解,产品特点如下:1)QTP是一个侧重于功能的回归自动化测试工具;提供了很多插件,如
5、:.NET的,Java的,SAP的,Terminal Emulator的等等,分别用于各自类型的产品测试。默认提供Web,ActiveX和VB。2)QTP支持的脚本语言是VBScript,这对于测试人员来说,感觉要“舒服”得多。VBScript毕竟是一种松散的、非严格的、普及面很广的语言。3)QTP支持录制和回放的功能,开发脚本简单,容易入门和掌握脚本开发技巧,开发效率高。 4)QTP提供了对数据驱动和关键字驱动的支持,可以支持快速的开发出灵活、重用度高的自动化脚本。5.2.1QTP安装 1、获取QTP安装包,双击安装包中的Setup.exe。图5-1 执行Setup.exe5.2.1QTP安
6、装2、出现如下界面后,选择第一项QTP程序安装。图5-2 执行选择项一5.2.1QTP安装3、最好按默认路径安装,安装路径不要有中文名,安装过程中最好都选默认项。安装过程中若有下面的提示,可选否。图5-3 安装提示5.2.1QTP安装4、出现如下提示,程序安装下面2个插件才能继续,点击OK安装。图5-4 安装插件5.2.1QTP安装5、安装完组件后,出现下面的提示后,点击下一步继续。图5-5 安装组件5.2.1QTP安装6、选择“我同意”,点击“下一步”继续图图5-6 许可协议许可协议图5-6 许可协议5.2.1QTP安装7、插件选择,默认插件选择。图5-7 自定义安装5.2.1QTP安装8、
7、设置完成后,点击下一步开始安装图5-8 安装执行5.2.1QTP安装9、直至安装完成,点击“完成”按钮。图5-9 安装完成5.2.1QTP安装10、出现如下提示界面,主要是设置页面,默认,点击RUN。图5-10 启动运行5.2.1QTP安装11、出现证书安装提示界面,此时如下所示,点击下一步图5-11 安装证书5.2.1QTP安装12、出现下面的license-key的时候,输入获取的序列号即可,安装完成。图5-12 输入序列号5.2.2 QTP产品介绍QTP自动化测试工具主要包括以下几个关键功能模块。Add-in ManagerQTP以插件授权进行使用许可证管理,默认免费提供ActiveX、
8、Visual Basic、Web三种插件类型。根据测试对象的编程语言,测试工程师选择对应的插件类型后,QTP自动加载对应的对象管理组件,以便顺利开展自动化测试脚本设计工作。第五章 自动化测试与QTPTest PaneTest Pane主要包括Keyword View 和Expert View两个视图。Keyword View是关键词视图,录制生成的脚本可以在这里很直观的看到,可以在此视图完成参数化的工作。第五章 自动化测试与QTPExpert View,专家视图,可以在此视图中直接修改生成的脚本,适合对VBS脚本和QTP函数比较熟悉的测试人员使用。通常情况下,测试工程师利用Expert Vie
9、w工作模块进行测试脚本的开发。第五章 自动化测试与QTPData Table类似Excel,用于提供自动化测试脚本所需的输入数据或者校验数据。指向测试脚本文件目录下的Default.xls文件。可以直接在Excel中编辑数据。第五章 自动化测试与QTPActive ScreenQTP录制脚本时生成对应业务操作的镜像图片,便于定位每个操作过程,并可在此视图上完成检查点设置操作。第五章 自动化测试与QTPTest ResultsTest Results,测试结果展示功能,通过此功能能够清晰掌握每个业务过程执行,明确判断每个业务步骤是否按照预期结果执行,并产生何种结果,从而帮助测试人员发现并定位缺陷
10、。5.2.3 QTP实现原理在面向对象编程语言中,常听到类、对象、属性等概念,QTP实现自动化测试时同样使用了类似的概念,只是相对简单。类,具有相同静态、动态特性的事物的集合,如文本编辑框、单选按钮、下拉列表等常见Web控件。涉及类概念时,往往是一个宽泛的指代。QTP试用版默认支持Windows、Web对象类。对象,某类事物中的具体个性,指明了该对象的属性值,如用户名编辑框、用户性别单选框等。此时,对象作为一个特定个体,具体非常明确的属性值,易于辨别属性,事物固有或被赋予的特性,如文本编辑框的长度、名称、默认值、默认焦点等。设计测试脚本前,测试工程师需根据需要选择正确的插件,选择完成启动QTP
11、后,QTP会根据Add-in Manager中勾选的插件自动加载所匹配的对象识别方法。以OA系统登录功能为例,在录制之前,测试工程师首先选择Web插件类型,录制时,QTP启动IE,根据默认加载的Web对象识别方式,将IE上测试工程师操作的控件进行识别,识别成功后自动加入对象库进行管理,进入对象库的Web对象称为Test Object,如所示。第五章 自动化测试与QTP如所示。第五章 自动化测试与QTP识别Test Object时,QTP以Mandatory Properties(强制属性)、Assistive Properties(辅助属性)、Ordinal Identifier(位置定义)、
12、Smart Identification(智能识别)顺序进行测试对象识别。第五章 自动化测试与QTP以OA系统用户名文本输入框为例,QTP首先以html tag、name、html id三个强制属性进行识别,如果未能识别出其是用户名输入框,则以outertext辅助属性进行识别,若仍未识别,则以index位置属性进行识别,若强制、辅助、位置属性都无法识别此对象时,将启用智能识别模式,将文本输入框所有属性进行匹配,直到匹配成功或超时位置。录制完成后,QTP将所有操作的对象存在对象库中,回放时,采用录制时识别方法,判断被测对象是否与Test Object一致,若不一致,则报告缺陷。此时,被测对象称
13、为Run Object。5.3 QTP功能基础5.3.1 对象与对象库Test Object(TO)测试对象,测试工程师预先设定的预期对象,脚本录制时自动识别并加入对象库,由QTP自动管理。根据测试需要可对其属性进行设置,具有设置属性与获取属性两种操作方法。以OA系统登录用户名对象为例,其在对象库中存在形式如下第五章 自动化测试与QTP 根据测试需要,可将其name属性值设置为更容易识别的值,如username,则使用设置属性方法如下: browser(OA登录).Page(OA登).WebEdit(name).SetTOProperty name,username 如果需要获得Test Ob
14、ject某个属性值时,可采用GetTOProperty方法,同样以OA登录用户名对象为例: Namevalue= browser(OA登录).Page(OA登录).WebEdit(name).GetTOProperty (name)第五章 自动化测试与QTPRun Object(RO)与Test Object相对的则是运行时对象,运行对象即是实际的被测对象,当脚本设置完成执行测试时,QTP将Run Object与对象库中的Test Object进行对比,若能正确识别,则根据脚本设计,执行对应的业务操作,否则报错,无法识别对象或无法完成业务操作,导致测试失败。第五章 自动化测试与QTP对象库对象
15、库是QTP非常重要的一个功能组件,在对象库中,测试工程师可进行Test Object与Check Point管理,所有待测试的对象必须在对象库首先存在(描述性对象除外)。对象库则进行Test Object属性值管理,便于在测试过程中识别测试对象,使测试活动顺利开展。在对被测试对象操作过程中,被操作的控件会自动被加入到对象库中,然后可以通过对象库管理器进行管理。5.3.2 录制与回放5.3.2 录制与回放QTP主要有三种录制模式:正常录制(Normal Recording)、模拟录制(Analog Recording)、低级录制(Low Level Recording)。正常录制(Normal
16、Recording)QTP默认的录制模式,这种录制模式是QTP最突出的特点,是直接对对象的操作,可以说此类模式继承了对象模型的所有优点,能够充分发挥对象库的威力。它通过识别程序中的对象来代替以前依赖识别屏幕坐标的形式。但是正常模式并不能保证识别程序中所有的对象,因此,仍然需要其他两种模式来补充。在录制完之后,不管再次打开的对象位置在哪(简单的说就是不具体记录对象控件的坐标,但是被测页面上必须存在该控件对象),它都能执行到。开启正常录制模式的方式。5.3.2 录制与回放(1)QTP上方菜单栏AutomationRecord。(2)直接使用快捷键“F3”。(3)在QTP界面上点击正常录制图标。1)
17、点击工具栏“Record”按钮。5.3.2 录制与回放2)弹出如下对话框,填写打开IE所需要访问的网址,此处填写的是OA系统的首页地址,读者可根据自己的实际地址填写。点击“确定”按钮开始录制。5.3.2 录制与回放开始录制,并弹出IE打开了设置的OA首页第五章 自动化测试与QTP4)在打开的IE窗口,输入“用户名”和“密码”,点“登录”按钮,进行登录,如下图所示:第五章 自动化测试与QTP5)点击工具栏“Stop”按钮停止录制,生成录制到的代码。点击点击工具栏工具栏按钮,可以回放脚本代码,按钮,可以回放脚本代码,QTPQTP会回放前面录制时的操会回放前面录制时的操作作模拟录制(Analog R
18、ecording)此类模式录制了所有键盘和鼠标的精确操作,对于正常录制模式不能录制到的动作,可以使用模拟录制模式来弥补。例如,录制一个鼠标光标拖动的动作,正常录制模式无法录制这个业务操作,这时就可以考虑切换到模拟录制模式记录鼠标光标的轨迹。模拟录制模式录制下来的脚本文件比较大,而且依靠这种方式是不可以由QTP进行编辑的。选择模拟录制模式,如果在回放时,改变了屏幕的分辨率或者窗口/屏幕的位置, 回放就会失败。开启模拟录制模式的方式。(1)前提是开启正常录制模式。(2)QTP上方菜单栏AutomationAnalog recording。(3)直接使用快捷键“Shift+Alt+F3”。(4)在Q
19、TP界面上点击模拟录制图标。低级录制(Low Level Recording)此类模式是用来录制QTP不能识别的环境或对象。它不止录制了鼠标和键盘的所有操作,对对象的位置要求也非常严格。按此模式录制的对象都以Windows和WinObject的形式存在。QTP按照屏幕上的x坐标和y坐标录制该对象,将所有父类对象录制为Windows测试对象,将所有的其他对象录制为WinObject测试对象。它们在ActiveScreen中显示为标准Windows对象,并且在录制回放时,对象的坐标有任何一点改变就会失败。这类方式适用于QTP不能正常识别对象时的应用,主要是记录坐标的位置,可以对QTP不支持的对象进
20、行坐标记录。但是不到万不得已的时候,不推荐使用此模式。开启低级录制模式的方式。(1)前提是开启正常录制模式。(2)QTP上方菜单栏AutomationLow Level Recording。(3)直接使用快捷键“Ctrl+Shift+F3”。(4)在QTP界面上点击低级录制图标。5.3.3 检查点 检查点,用来检查被测对象实际运行表现是否与预期结果一致,QTP中提供了标准检查点、图像检查点、表格检查点、页面检查点、文本/文本区域检查点、位图检查点、数据库检查点等。在实际测试测试过程中根据实际被测系统采用其中一种或多种检查点方法对期望结果进行检查,一般来说是对被测系统的关键特征进行检查。例如:如
21、果是测试一个登录功能,那么登录成功关键特征可能是下一个界面出现提示语“Welcome ,admin”,那么我们需要脚本自动判断用户是否登录成功,就可以采用文本检查点来做检查是否按预期出现了欢迎语文本。所以检查点的设置需要结合被测系统灵活运用。5.3.3 检查点标准检查点“标准检查点”检查桌面程序或者网页中的对象的属性值。标准检查点可以支持各种对象的属性检查,例如:按钮、文本框、列表等。例如:你可以检查在选择单选按钮之后它是否处于激活状态,或者可以检查文本框的值是否与预期一致。使用方法如下:在录制过程中进行检查点的插入操作:“Insert”-“CheckPoint”-“Standard Chec
22、kPoint”项。第五章 自动化测试与QTP例如:打开OA系统的首页,用户名默认填写“admin”。现在使用标准检查点来检查首页打开后,是否正确的填写了用户名“admin”第五章 自动化测试与QTP1、启动QTP开始录制,录制中打开OA首页后,选择菜单“Insert”-“CheckPoint”-“Standard CheckPoint”项。如下图所示:第五章 自动化测试与QTP3、点“OK”按钮,弹出如下对话框,设置要检查的文本框的“Value”属性为“admin”,当然也可以检查文本框的其它属性。如果检查的内容不是固定的值,检查的内容也可以是参数。设置完成以后,点击“OK”按钮关闭对话框。设
23、置完成后,生成以下代码:第五章 自动化测试与QTP测试结果如下:图像检查点图像检查点图像检查点检查应用程序或网页中的图像的属性值是否和图像检查点检查应用程序或网页中的图像的属性值是否和预期一致,例如:检查所选的图像的预期一致,例如:检查所选的图像的SRC属性值是否与预期属性值是否与预期一致。一致。第五章 自动化测试与QTP使用方法如下:在录制过程中进行检查点的插入操作:“Insert”-“CheckPoint”-“Text CheckPoint”项。案例:在OA系统的首页上,登录按钮就是一张图片,这张图片的SRC属性的值是http:/localhost:8081/oa/images/blogi
24、n.gif。我们为这张图片增加一个图片检查点,确认在自动化测试过程中此图片的SRC属性与我们的预期是一致的。如下图所示:第五章 自动化测试与QTP增加图片检查点:1、启动QTP开始录制,录制中打开OA首页后,选择菜单“Insert”-“CheckPoint”-“Standard CheckPoint”项。如下图所示:第五章 自动化测试与QTP2、鼠标图标变成手型“ ”,点击要检查的图片“登录”按钮,如右图所示:2 2、点击、点击OK按钮后,弹出如下对话按钮后,弹出如下对话框。如果链接是固定的,则选择框。如果链接是固定的,则选择“Constant”,设置,设置SRC固定的预期固定的预期值。如果是
25、链接是变化的,则可选择值。如果是链接是变化的,则可选择“Parameter”,使用参数化,使用参数化3 3、点击、点击“OK”按钮后,生成的代码如下:按钮后,生成的代码如下:第五章 自动化测试与QTP 4、运行脚本代码后,测试结果如下:第五章 自动化测试与QTP我们现在要检查每次查询返回的表格有8列,而且8列的标题与我们的预期一致。增加表格检查点:1、启动QTP开始录制,登录到OA系统中,并且进行“查询图书”操作,返回查询结果。选择菜单“Insert”-“CheckPoint”-“Standard CheckPoint”项。如下图所示:第五章 自动化测试与QTP表格检查点“表格检查点”检查网页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 自动化 测试 QTP
