基于QTP的”光影魔术手4.3.1“自动化测试毕业论文(吴骏骅)_100104073

时间:2024.3.31

苏州工业园区服务外包职业学院

毕业设计(论文)


毕业设计(论文)独创性声明

本人声明,所呈交的毕业设计(论文)系在指导老师的指导下本人独立完成的研究成果。论文中依法引用他人的成果,均已做出明确标注或得到许可。论文内容未包含法律意义上已属于他人的任何形式的研究成果,如论文涉及任何知识产权纠纷,本人将承担一切责任。

                 学生签名:__________日期:__________


目  录

摘    要................................................... 3

Abstract.................................................. 3

1软件测试简介.............................................. 4

1.1 软件测试简介........................................ 4

2 自动化测试简介........................................... 4

2.1 自动化测试.......................................... 4

2.2 自动化测试流程图..................................... 4

3 QTP自动化测试............................................ 5

3.1 QTP自动化测试简介................................... 5

3.2 QTP的工作模式....................................... 6

3.3  QTP自动化测试流程.................................. 7

3.3.1 准备测试用例.................................... 7

3.3.2 配置QTP运行环境................................ 8

3.3.3 录制或编写自动化测试脚本........................ 8

3.3.4 检查修改脚本.................................... 8

3.3.5 运行调试测试脚本................................ 8

3.3.6 运行维护脚本.................................... 8

3.3.7 QTP自动化测试流程图............................ 8

3.4 QTP框架介绍......................................... 9

4 “光影魔术手4.1.3”的自动化测试......................... 10

4.1 测试规划........................................... 10

4.2 测试用例开发....................................... 11

4.2.1 安装测试用例................................... 10

4.2.2 安装完毕自动启动软件测试用例................... 11

4.2.3 桌面坐标检查测试用例........................... 11

4.2.4 开始菜单检查测试用例........................... 11

4.2.5 启动软件测试用例............................... 11

4.2.6 打开图片测试用例............................... 12

4.2.7 场景编辑测试用例............................... 12

4.2.8 场景编辑框检查测试用例......................... 12

4.2.9 恢复原图测试用例............................... 12

4.2.10 饰品编辑测试用例.............................. 12

4.2.11 美容编辑测试用例.............................. 13

4.2.12 卸载测试用例.................................. 13

4.3 测试报告........................................... 14

4.4 环境搭配........................................... 15

4.5 软件需求........................................... 15

4.6 遇到的问题以及解决方案.............................. 15

4.6.1时间处理....................................... 15

4.6.2欲点击的button是一张图片....................... 16

4.6.3 对象无法识别................................... 16

4.6.4 报告中无法显示Pass率.......................... 16

4.6.5 运行时界面效果................................. 17

4.6.6 场景恢复...................................... 17

4.6.7 QTP单击右键完成“Save Target As……”操作...... 18

4.6.8 QTP读取外部Excel数据......................... 18

4.6.9 报告优化整理................................... 19

致    谢.................................................. 21

基于QTP的”光影魔术手4.1.3“自动化测试

摘 要:目前在软件测试行业里,除了大家所熟悉的黑盒测试和白盒测试以外,还分为手工测试和自动化测试。自动化测试相对于手工测试有很多优点,它最主要的优点就是省时,省力,省财务开销。自动化测试工具中具有代表性的是QTP,QTP适用于软件测试中的smoke测试以及回归测试(regression test),QTP脚本具有相当高的可移植性和可重用性,“一本万利”,即一本QTP测试脚本经过简单修改后可以应用于多个测试软件以及测试环境。

本次毕业设计,以QTP为自动化测试工具,以“光影魔术手4.1.3”软件为被测软件,通过QTP的描述性编程方法,实现该软件从安装到卸载的功能测试和界面检查测试,以及安装完成后的软件功能性测试和UI测试。最终产生可读性好,易于跟踪的QTP自动化报告,用来分析软件的缺陷。通过使用QTP对“光影魔术手4.1.3”软件进行测试的实例,展示出了QTP自动化测试在软件测试行业中方便,快捷的优越性。

关键词:软件测试;自动化测试;QTP自动化测试

    Abstract:In the software testing industry, with the exception that everyone is familiar distinguished with black box testing and white box testing, it also consist of manual testing and automated testing. The main advantage of automation is saving time, effort, the provincial financial cost. In automated testing software, QTP is outstanding. QTP used in smoking testing and regression testing (regression test ) in the software testing. QTP script with a very high portability and reusability, "a big profit," that is a QTP test script through simple modifications can be applied to various test software and test environment.

In this graduation design, using QTP for the automated testing tools and using " ISee picture expert " software for the software under test, through QTP descriptive programming, implementation of the software from installation to uninstall which include the functional testing and inspection interface testing, and the software functionality testing and UI testing after installation Upon completion. Eventually produce readable and easy to follow the QTP automated reporting, which used to analyze software defects. By using QTP on the " ISee picture expert " software test examples, demonstrating the convenient, fast superiority of QTP automated testing in the software testing industry.


1软件测试简介

1.1 软件测试简介

软件测试就是为了发现程序中的错误而分析或执行程序的过程。具体地说,软件测试是分析程序或根据软件开发各个阶段的规格说明和程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,已发现程序错误的过程。

软件测试是软件质量保证的重要手段,据研究机构统计分析表明,国外软件开发机构40%的工作量花在软件测试,软件测试费用占软件开发总费用30%—50%

对于一些要求高可靠、高安全的软件,测试费用所占比例更高。由此可见,要成功开发出高质量的软件产品,必须重视并加强软件测试工作。

软件测试技术可分为两大类:白盒测试和黑盒测试。白盒测试有可分为静态测试和动态测试;静态测试主要包括代码检查法、静态结构分析法等;动态测试技术主要包括程序插桩、逻辑覆盖、基本路径测试等。黑盒测试一般可分为功能测试和非功能测试两大类:功能测试主要包括等价类划分、边值分析、因果图法、错误推测、强度测试、兼容性测试、配置测试、安全测试等。

2 自动化测试简介

2.1 自动化测试

软件测试自动化就是通过测试工具或其他手段,按照测试人员的预定计划对软件产品进行自动的测试,它是软件测试的一个重要组成部分,能够完成许多手工无法完成后者难以实现的一些测试工作。正确、合理地实施自动化测试,能够快速、全面地对软件进行测试,从而提高软件质量,节省经费,缩短产品发布周期。

因此,自动化测试适用在需要重复执行机械化的界面操作、计算、数值比较、搜索等方面。我们应该充分利用自动化测试工具的高效率来帮助测试人员完成一些基本测试用例的执行,从而实现更加快速的回归测试,并提高测试的覆盖率。

2.2自动化测试流程图

自动化测试有它自己的一个流程,下图为自动化测试流程图,如图2-2-1所示。

图2-2-1 自动化测试流程图

3 QTP自动化测试

3.1 QTP自动化测试简介

QTP,全称为Quick Test Professional,是Mercury研发的一种自动化测试工具,现在属于HP公司,是一款先进的自动化测试解决方案,用于创建功能和回归测试。它自动捕获、验证和重放用户的交互行为。

Quick Test Professional是为每一个重要软件应用和环境提供功能和回归测试自动化的最佳解决方案。

Quick Test Professional是新一代自动化测试解决方案,采用了关键词驱动(Keyword-Driven)测试的理念,能完全简化测试的创建和维护工作。Quick Test Professional关键词驱动方式独有之处在于,测试自动化专家可以通过一个整合的脚本和纠错环境,拥有对基础测试脚本和对象属性的完全访问权限,这些脚本和纠错环境与关键词视图(Keyword View)可以互为同步。

Quick Test Professional同时满足了技术型和非技术型用户的需求,让各个公司有能力部署更高质量的应用,同时部署的速度更快,费用更低,风险也更小。

3.2 QTP的工作模式

QTP分为两种工作模式:

第一种为关键字视图模式(Keyword View),普通的录制和回放有关键字视图就足够了,关键字视图中有录制过程中每一个点击事件以及输入事件,测试人员可以在关键字视图下通过修改DataTable来设置检查点。

第二种为专家视图(Expert View),它有两个作用:

(1)专家视图中包含了整个录制过程中QTP所产生的每一个事件相对应的脚本,QTP高级测试人员可以通过修改这些脚本代码来控制QTP回放时的所有事件;

(2)高级QTP测试人员可以在无需录制的情况下,通过自己在专家视图中编写脚本代码,来实现录制能实现的功能,甚至可以实现通过录制无法实现的功能,这种方法称为描述性编程,使用描述性编程的优点有:

①减少QTP脚本的大小,便于在邮件和服务器上发送;

②增加了脚本的可移植性,可扩展性,可维护性。

QTP脚本使用VB语言编写,很少的代码量可完成很强大的功能,通过描述性编程,脚本开发人员可以随意控制QTP测试脚本,在自己需要的地方增加检查点,在脚本出问题的时候便于维护;由于没有对象,在脚本移植上变得方便容易,也使脚本的扩展变得容易。

对于QTP而言,其核心代码是Visual Basic Script,因此,如果用户熟悉vbScript,就可以自己添加和更新专家视图中的语句,并通过编程方式增强测试脚本。

      初学者都会知道QTP是用来录制回放的,当然,录制完就会有对象存在在对象库中,这个对象对已经录制的实体有一个唯一的标识。但是当你遇到以下情况时,就无法再应用对象和对象库了:

    (1)在某些页面上动态产生的对象;

    (2)当要求脚本必须比较小的时候。

    那么此时就要应用描述性编程了,这部分工作只能在专家视图中进行。

    以下是一个例子:

    Browser("xxxx").Page("yyyy").Click

    将以上的代码修改为描述性编程:

    假如现在只是打开的yyyy主页

    Window("Text:=yyyy").Close

    简而言之,描述性编程就是将原来的对象用该对象应该具有的属性和对应的属性值来代替(即property:=value),来唯一标识这个对象,这样,即使删除对象库中对应的对象脚本仍然可以运行。

    当在一个测试中多次使用描述性编程的时候,如以下示例:

    Window("Text:=aaa").WinButton("Caption:=bbb").Click

        Window("Text:=aaa").WinButton("Caption:=ccc").Click

        Window("Text:=aaa").WinButton("Caption:=ddd").Click

    为了方便起见,我们可以将Window("aaa")赋值给一个值

    Set E = Window("Text:=aaa")

        E.WinButton("Caption:=bbb").Click

        E.WinButton("Caption:=ccc").Click

        E.WinButton("Caption:=ddd").Click

    如果还想在简化代码,可以使用VBScript里的with语句来实现

     With Window("Text:=aaa")

        .WinButton("Caption:=bbb").Click

        .WinButton("Caption:=ccc").Click

        .WinButton("Caption:=ddd").Click

描述性编程的“后续强迫性”。

当使用描述性编程时,需要注意一点就是,描述性编程的“后续强迫性”问题,什么是“后续强迫性”呢?就是说如果在测试对象层次结构的某一点开始就是用了描述性编程,则该测试对象层次结构下的后续测试对象都要使用描述性编程的方式来描述。

由于应用描述性编程要应用VBscript语言,所以在这里要简单的介绍一下VBscript:

Visual Basic,简称VB,是Microsoft公司推出的一种Windows应用程序开发工具。是当今世界上使用最广泛的编程语言之一,它也被公认为是编程效率最高的一种编程方法。无论是开发功能强大、性能可靠的商务软件,还是编写能处理实际问题的实用小程序,VB都是最快速、最简便的方法。

3.3 QTP自动化测试流程

3.3.1 准备测试用例

软件测试,离不开测试用例,测试用例对于软件测试来说就如软件开发中的需求分析一样,开发中没有需求分析说明书就无法知道将要做的是什么,完成什么功能,测试用例对于软件测试的功能是一样的,没有测试用例就算有了测试软件也无法进行测试,而且测试用例要便于脚本的后期维护。

测试用例开发的标准是符合自动化测试要求,检查点覆盖尽可能全面,测试步骤尽可能通顺简洁,方便测试人员进行测试。本次毕业设计由于是个人项目,无法按照公司的流程进行开发,因此在测试用例开发的流程上欠缺合理性。

3.3.2 配置QTP运行环境

QTP支持不同的开发环境,在录制(编写脚本)之前,需要根据被测试的环境,选

择合适的插件,并进行加载。在安装QTP时,会提示输入许可序列号,如果没有买到HP授权的正版序列号,QTP只能有14天的试用期。

3.3.3 录制或编写自动化测试脚本

不论是录制还是测试员自己编写自动化测试脚本,都必须按照测试用例的步骤来进

行,开发中开发人员按照需求分析文档来一个个的实现需求分析中的功能模块,同样的道理,测试人员要根据测试用例完成每一步测试用例相对应的自动化脚本的开发。

3.3.4 检查修改脚本

录制或编写完自动化测试脚本以后,不要急于运行测试脚本,要先好好检查脚本

的完整性,语法错误以及逻辑性。删除冗余的脚本代码,以最少的代码来实现同样的功能。

3.3.5 运行调试测试脚本

检查过脚本代码后,运行该测试脚本,不是所有的脚本都能按照预期的期望正常运

并能产生正确的报告的。这就要求脚本开发人员在脚本出问题的时候对脚本进行调试,直到脚本正常运行。

3.3.6 运行维护脚本

脚本调试后可以正常运行,随着代码量的增加,这个时候就需要不断的对脚本进行

后期维护,以确保脚本的质量和性能。

3.3.7 QTP自动化测试流程图

QTP自动化测试有它自己的测试流程图,下图为QTP自动化测试流程图,如图3-3-1所示:

 

 

                                                          NO

 

                                                              

                                    YES

                                                              

图3-3-1 QTP自动化测试流程图

3.4 QTP框架介绍

Java中有MVC框架,struts框架等等,在QTP中,同样有它自己的框架结构。

QTP框架基本分为三层,脚本层(业务组件开发),业务层(流程的开发和组织),数据层,层次之间相互分离是本框架组织总的方针,为开展功能自动化测试提供一个高效、稳定、容易的测试实现。

实现QTP自动化测试框架实际上要由以下几个部分组成:

  (1)一组录制好的qtp脚本(QTP的Action);

  (2)一个可以组织用例的Excel文档;

  (3)一个VBScripts脚本。

  首先,在QTP里建立多个Action,这些Action于测试用例中的步骤一一对应,Action里的语句只有调用vbScript文件和调用该vbScript文件内函数的语句即可。

  其次,把固定的字符串以及按钮参数化,这些参数将被保存在QTP的Datatable中,供vbScript调用。

  再次,为实现真正意义上的自动化测试,我们需要一个VBScripts脚本,它的作用是通过执行这个VBScripts脚本来驱动QTP程序启动,然后自动运行我们所需要执行的qtp脚本。

  完成以上内容,一个基本的自动化测试架构就组合完成了。当然,以上的内容只是一个简单的说明,在这其中,实际上是需要我们进行脚本的调整和运用一些编程技术才能实现这个框架,例如,我们如何让QTP脚本来读取Excel中的用例值?如何通过vbscripts脚本来启动QTP程序?等等。

而对于以上的框架实际上还有调整的余地,我们很多时候听到的框架优化,原则上就是要把这个框架更细化,例如,测试用例中需要有附件的配置、需要有公共函数的使用、测试执行后要有结果存储的路径等等一系列内容,这样,这个框架才能够被共享和复用,而不是每次测试都要重新考虑用例设计或者重新生成用例集,而这些是慢慢将这个框架进行丰满所要做的工作。

4 “光影魔术手4.1.3”的自动化测试

4.1 测试规划

以“光影魔术手4.1.3”为被测软件,QTP为测试工具,实现一个软件从安装,应用到卸载的整个过程的function testing 以及UI testing。

主要测试点有:

安装

快捷方式检查:

功能测试:

(1)启动软件

(2)选择图片

(3)编辑图片

(4)保存编辑后图片

(5)关闭软件

(6)IE检查

UI 测试:

(1)检查应该出现的字符串以及各种Button。

卸载

4.2 测试用例开发

一般测试是由专门写测试用例的人员将测试用例写好后,放到QC上,测试人员再从QC上导下来进行测试,在本次毕业设计中,由于是独立完成毕业设计,所以测试用例也是自己编写的,测试用例写的原则就是尽可能的覆盖更多的检查点。

本次毕业设计的测试用例根据测试规划而开发,测试用例涵盖了软件的安装检查;界面检查;功能性检查,如启动,编辑,关闭等;卸载检查等。

4.2.1 安装测试用例

Steps:

(1)Click 光影魔术手4.1.3.exe;

(2)Click "光影魔术手4.1.3 >" from "光影魔术手4.1.3 3.928 安装";

(3)Click "下一步(N)>" from " 光影魔术手4.1.3 3.928安装";

(4)Click "安装(I)";

(5)Click "完成(F)".

Expected Result:

Verify software can be installed successfully.

4.2.2 安装完毕自动启动软件测试用例

Steps:

(1)Flow above steps.

Expected Result:

Verify the " 光影魔术手4.1.3 3.928" can automaticlly launched successfully.

4.2.3 桌面坐标检查测试用例

Steps:

(1)Check shortcuts on desktop.

Expected Result:

Verify the shortcut “光影魔术手4.1.3” displays on desktop.

4.2.4 开始菜单检查测试用例

Steps:

(1)Start menu links.

Expected Result:

Verify " 光影魔术手4.1.3" folder is displayed.

4.2.5 启动软件测试用例

Steps:

(1)Lanuch " 光影魔术手4.1.3" from desktop/startmenu;

(2)Click "X" button.

Expected Result:

Verify the " 光影魔术手4.1.3 3.928" can  launched without any error.

Verify the " 光影魔术手4.1.3 3.928" can  exited without any error.

4.2.6 打开图片测试用例

    Steps:

(1)Lanuch " 光影魔术手4.1.3" from desktop/startmenu;

(2)Click "打开一张图片"  from dialog " 光影魔术手4.1.3";

(3)Click “Cancel” button.

Expected Result:

Verify the "打开一张图片" dialog can be opened.

Verify the dialog can be closed after click "退出" button.

4.2.7 场景编辑测试用例

Steps:

(1)Click “场景” from " 光影魔术手4.1.3";

(2)Click “取消” Button on “场景 编辑框” dialog.

Expected Result:

Verify “场景 编辑框” dialog can be opened.

Verify the dialog can be closed after click “取消” Button.

4.2.8 场景编辑框检查测试用例

        Steps:

(1)Click “场景” from " 光影魔术手4.1.3".

Expected Result:

Verify "预览" button exists.

Verify "编辑" button exists.

Verify "保存" button exists.

Verify "复制到QQ" button exists.

Verify "修改闪图大小" button exists.

4.2.9 恢复原图测试用例

Steps:

(1)Click "原图" from " 光影魔术手4.1.3";

(2)Click “闪图” Button.

Expected Result:

Verify the "闪图 编辑框" dialog is closed successfully.

4.2.10 饰品编辑测试用例

Steps:

(1)Click "饰品" on the " 光影魔术手4.1.3".

Expected Result:

Verify "非主流印" button exists.

Verify "装饰品" button exists.

Verify "可爱心" button exists.

Verify "会话气泡" button exists.

Verify "可爱动物" button exists.

Verify "卡通人物" button exists.

Verify "动态文字" button exists.

Verify "缤纷节日" button exists.

Verify "开心恶搞" button exists.

Verify "遮挡物" button exists.

Verify "淘宝" button exists.

Verify "其他饰品" button exists.

4.2.11 美容编辑测试用例

Steps:

(1)Click "首页" on " 光影魔术手4.1.3";

(2)Click "美容" button on " 光影魔术手4.1.3".

Expected Result:

Verify the " 光影魔术手4.1.3温馨提示" dialog should displays.

4.2.12 卸载测试用例

Steps:

(1). Select "卸载光影魔术手4.1.3";

(2). Click "Yes" button from " 光影魔术手4.1.3  卸载" dialog;

(3). Click "Yes" button from " 光影魔术手4.1.3  卸载" dialog;

(4). Click "OK" button from " 光影魔术手4.1.3  卸载" dialog;

Expected Result:

Verify the software can be uninstall successfully.

下图为测试用例部分截图,如图4-2-1所示:

图4-2-1 测试用例截图

下图为测试用例部分截图,如图4-2-2所示:

图4-2-2 测试用例截图

4.3 测试报告

QTP产生的报告要求清晰明朗,通过、未通过和Pass率等各种信息都要求在报告中显示出来,下图为报告的Summary Sheet,如图4-4-1所示:

图4-4-1 报告的Summary Sheet

4.4 环境搭配

    OS: Windows xp/vista。

        语言: 简体中文。

网络连接正确。

4.5 软件需求

    (1) 光影魔术手4.1.3。

(2)QTP。

(3)其它软件需求:

office 2003或 office 2007。

4.6 遇到的问题以及解决方案

4.6.1时间处理

由于计算机配置不同,在自动运行软件及其功能时,目标窗口出现的时间不同,这就需要脚本在执行完一个判断后,在判断下一个目标出现之前,必须有时间上的判断,否则当在QTP默认时间内没有出现目标,测试将会报错。

时间处理方法有:

(1)死等法:
       wait(10)。
       wait方法可设定指定的等待时间,时间单位为秒,但这个时间只能是固定的,即必须等到这个时间才能继续执行。缺点:有时候会浪费时间,有时候因时间把握不准确而少设定了时间。
    (2)waitproperty
       windows("XXX").dialog("XXXXXXXX").waitProperty "visible",true,50000
       方法中的visible是属性,true是属性的值,50000为最长等待时间,单位为毫秒。即在最长等待时间内任意时刻visible的值为true了,脚本继续向下执行,直到等到最大等待时间,然后给出warning。注意:如果超出最大等待时间,QTP报告中的结果是warning,而不是fail。
    (3)Exist(10)
       windows("XXX").dialog("XXXXXXXX").Exist(10)
       方法中的10的时间单位为秒。
       该方法与waitproperty方法类似,个人认为比waitproperty方法好用一些。

4.6.2欲点击的button是一张图片

解决方法:

Tools->Virtual Objects->New Virtual Objects

在Virtual Objects Wizard窗口选择下一步,接下来的窗口选择一个虚拟对象的类别,然后点击下一步,接下来的窗口中点击 “Mark Object”来确定虚拟对象。完成。

4.6.3 对象无法识别

解决方案:

    (1)模拟录制和低级录制

     QTP录制分为三种模式,一为普通模式录制,二为模拟录制,三为低级录制。

模拟录制是将普通录制无法识别的对象,录制为模拟对象,模拟对象一般是一个窗口,即将不能识别的对象所在窗口识别为模拟对象,以此来判别该对象是否存在。

低级录制是记录鼠标对点的操作,即只记录鼠标在目标窗口进行的点击以及拖动等动作。低级录制在项目中不建议使用,因此在本工程中并未用到,在此只是做一个简介。

(2)坐标识别:

坐标识别与模拟录制有些相似,只是没有模拟录制所产生的对象库。个人使用坐标识别的步骤为:

通过建立虚拟对象的步骤定位目标点在当前窗口的坐标值,然后点击坐标点,例如确定坐标后,可通过以下语句实现点击:

Dialog(“text:=jevon”).Click 23,23

4.6.4 报告中无法显示Pass率

在实际项目中,客户关注的不仅仅是这一本测试用例哪条通过了,哪条没有通过,他们还很关注Pass率是多少,为了能在最终的测试报告中体现出Pass率,通过两天的时间对ReporterManager的研究和修改,现在可以在QTP报告的summary sheet里面直观的看到这一次运行完以后的Pass率。

4.6.5 运行时界面效果

为了不让QTP在运行时占据桌面视觉空间,特意将QTP在运行开始时将其最小化,运行结束后再最大化,具体实现方法如下:

最小化QTP窗口:

Dim objQTPWin

Set objQTPWin = GetObject(“”,”QuickTest.Application”)

objQTPWin.WindowState = “Minimized”

最大化QTP窗口:

ObjQTPWin.windowState = “Restored”

SetObjQTPWin = Nothing

4.6.6 场景恢复

软件开发中常常使用Try……Catch来捕捉代码出现的异常,从而避免异常给整个工程带来的威胁。在运用描述性编程的QTP中,由于被测试软件还不是很成熟,存在相当多的缺陷,这些缺陷都是未知的,这就更需要QTP有这样的方法来避免突发情况。

  在实际项目中,根据实际情况做了一个场景恢复,内容如下:

(1)Resources->Recovery Scenario Manger;

(2)”Recovery Scenario Manger” 对话框->New Scenario (“New Scenario” 是在字符串 “Scenario”后面的一个button);

(3)”Recovery Scenario Wizard”->“下一步”, 选择 error course 并点击“下一步”;

(4)选择 test run error characterized 并点击“下一步”;

(5)在 “Recovery Operations”界面, 选择任意选项然后点击“下一步”;

(6)选择一个操作形式 (在本项目中,选择了“Function call”);

(7)如果选择的是“Function call”, 可以通过“Function Library” 来加载已经写好的函数,点击“下一步”;

(8)如果想再添加一个场景恢复, 取消 “Add another recovery operation” 选项的选择并且点击“下一步”;

(9)场景恢复设置完成后,选择场景恢复所期望的执行效果并点击“下一步”;

(10)给完成的场景恢复命名,然后点击“下一步”;

(11)完成。

       这样,一旦脚本运行中出现未知异常,脚本就会调用我的预先定义好的函数,然后自动跳到下一个action继续执行脚本,避免出错并且节省时间。

另一种方式是利用vb自带的错误处理机制:

在可能出现问题的语句前边加上:on error resume next,一旦语句出错,将跳过该错误语句继续执行,在停止该语句效应范围处使用on error goto 0或者err.clear来实现结束     “on error resume next”。

4.6.7 QTP单击右键完成“Save Target As……”操作

    Setting.WebPackage("ReplayType") = 2

Browser("Jevon_新浪博客").Page("Jevon_新浪博客").Link("text:=Jevon").Click 0,0,micRightBtn

Setting.WebPackage("ReplayType") = 1

Set WshShell = CreateObject("WScript.Shell")

For i = 1 To 4                    '"Save target as....."在第四个位置

    WshShell.sendKeys "{DOWN}"

Next

WshShell.sendKeys "{ENTER}"

Set WshShell = nothing

附录:

replaytype
1 - Runs mouse operations using browser events.

2 - Runs mouse operations using the mouse.  

你的应用应该选择鼠标模式。

0,0是个人用法上的习惯,就是这个对象的左上角的第一个像素位置

4.6.8 QTP读取外部Excel数据

Dim filepath,rowcount,i

filepath = pathfinder.Locate("C:\Users\Jevon\Desktop\TopView.xls")  'Excel path

DataTable.AddSheet("resultSheet")                'add new sheet to datatable

'import outside sheet  data into new sheet in the datatable

DataTable.ImportSheet filepath,"Test_Summary","resultSheet"            

rowcount = DataTable.GetSheet("resultSheet").GetRowCount               

Dim counts,passrate,bound       'define the pass count,passrateand all case count

counts = 0

reDim arraydata(rowcount)

 bound = rowcount-9

'msgbox bound

For i= 10 to rowcount                 'the tenth row is the first test case result

 Datatable.SetCurrentRow(i)

 arraydata(i-10) =Datatable.Value("C","resultSheet")

 If arraydata(i-10) = "Pass" Then

  counts=counts+1

 End If

Next

passrate=counts/bound

'msgbox passrate

Dim rowcount1

'define a new  sheet named PassrRate

rowcount1=DataTable.GetSheet("PassRate").GetRowCount    

Dim row

row = rowcount1+1

DataTable.SetCurrentRow(row)

 DataTable.Value("Name","PassRate") = "PassRate"

DataTable.Value("PassRate","PassRate") = passrate

DataTable.ExportSheet "C:\Users\Jevon\Desktop\TopView.xls",2

4.6.9 报告优化整理

QTP自动产生的报告不是很直观,让人看着不是很舒服,很难快速定位有问题的Action中的检查点,借助于ReporterManager,QTP产生的是Excel的报告格式,能清晰明了的观察出每一条测试用例的执行结果,如果遇到结果为Failed的,能快速定位带该条测试用例并得到细节,测试用例的通过率是经过计算后放在Excel报告里的,一目了然。下图为QTP自动产生的报告,如图4-6-1所示:

图4-6-1QTP自动产生的报告

ReporterManager产生的报告的Summary Sheet可以清楚的显示出每一条测试用例的执行结果,并显示出Pass率,下图为ReporterManager产生的报告Summary Sheet,如图4-6-2所示:

    图4-6-2 ReporterManager产生的报告Summary Sheet

ReporterManager产生的报告的Detail Sheet可以显示出每一条测试用例执行的详细信息,下图为ReporterManager产生的报告Detail Sheet,如图4-6-3所示

  图4-6-3 ReporterManager产生的报告Detail Sheet

致  谢

本文从选题到确定论文结构和定稿的过程中,都得到了导师卢晨的悉心的指导和无私帮助。在此,向导师表达我最诚挚的感谢和最衷心的祝福。在大学期间,也得到了卢晨老师的谆谆教诲,我每迈出的一小步都离不开老师们的指引和关怀;外包学院的老师们严谨的教学态度和渊博的学识给我留下了非常深刻的印象,使我受益终生。在撰写论文时,非常感谢卢晨老师在我大学的最后学习阶段——毕业设计阶段给自己的指导,从最初的定题,到资料收集,到写作、修改,到论文定稿,给了我耐心的指导和无私的帮助。为了指导我们的毕业论文,他放弃了自己的休息时间,他的这种无私奉献的敬业精神令人钦佩,在此我向他表示我诚挚的谢意。同时,感谢所有任课老师和所有同学在这四年来给自己的指导和帮助,是他们教会了我专业知识,教会了我如何学习,教会了我如何做人。正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意,并祝所有的老师培养出越来越多的优秀人才,桃李满天下!

参考文献:

[1]陈能技.QTP自动化测试进阶[J].电子工业出版社,2007.

[2] 陈能技.QTP自动化测试实践[M].北京:电子工业出版社,2008.

[3] 张瑾,杜春晖.自动化软件测试[M].北京:机械工业出版社,2008.

[4]《软件测试》, 赵瑞莲 编, 高等教育出版社, 20##年

更多相关推荐:
自动化专业 毕业论文(范文)

届别20xx届学号20xx14240225毕业设计基于单片机的手机充电器设计姓名李冰江系别专业导师姓名职称完成时间目录摘要IABSTRACTII1概述111国内外研究动态112研究的目的与意义12总体设计221...

自动化专业毕业论文范文

工业锅炉的微机DDC控制系统自动化专业范文摘要这次毕业设计课题是工业锅炉的微机DDC控制系统,根据现状,由于我国的整个锅炉生产技术水平还比较落后,所以我国燃烧供热所用的锅炉的燃烧效率还相当低,而且也使得锅炉的燃…

电气自动化毕业论文范文

云南现代职业技术学院专科毕业论文题目:变流技术在电力系统中的应用学号:****专业:电气自动化指导老师:XX题目:变流技术在电力系统中的应用摘要:电力电子变流技术在电力系统中的应用非常广泛,发达国家在用户最终实…

电气自动化专业毕业论文范文模板参考资料

电毕气业自论动文化目录摘要简要介绍电气自动化技术的概念及其包括的专业知识关键字控制系统检测网络化前言1第一章自动控制统211自动控制与自动控制系统212自动控制系统的基本构成及控制方式313自动控制系统的分类4...

自动化学院毕业论文格式范例

毕业设计论文范例南京工程学院自动化学院本科毕业设计论文题目Robocup机器人足球赛3D仿真专业自动化数控技术班级数控031学号22101147学生姓名许兵指导教师朱华教授张开林副教授起迄日期20xx220xx...

电气自动化毕业论文

内蒙古机电学院毕业论文电气自动化专业就业前景专业班级学生姓名学号指导教师电气自动化专业就业前景内蒙古机电学院电气工程系内蒙古呼和浩特010051摘要电气工程及其自动化专业触角已经伸向了各行各业中电气工程及其自动...

电力自动化毕业论文

毕业设计(论文)论文题目:电力系统继电保护技术及其维护管理电子科技大学毕业设计(论文)任务书题目:电力系统继电保护技术及其维护管理任务与要求:时间:20##年12月12日至20##年03月13日共17周学习中心…

自动化学院本科生学位论文格式印刷模20xx-3-5

兰州交通大学毕业设计论文AbstractNeuralNetworksmodelreferenceadaptivecontrolNNMRACnotonlypossessestheneuralnetworksmer...

自动化学院本科毕业设计模板(20xx.3.1发各系,最终定稿)

兰州交通大学毕业设计论文362数字毕业设计论文中数字的使用必须符合新的国家标准GBT1583519xx出版物上数字用法的规定363外文字母文中出现的易混淆的字母符号以及上下标等必须打印清楚或缮写工整要严格区分外...

机械制造及自动化毕业设计任务书模板

附打印标准样式一一律按毕业论文毕业设计封面大小要求交计算机打印稿二字号字体要求论文题目黑体一号内容提要关键词字样黑体三号摘要正文宋体小四号关键词宋体小四号论文正文第一层次章题序和标题小二号黑体字第二层次节题序和...

毕业论文模板(目录自动化生成)

论文格式要求1论文封面要求见附件2独创性声明固定格式3中英文摘要中文摘要中文正文字体宋体西文正文字体TimesNewRoman字号均为小四首行缩进两个字符页眉为摘要英文摘要英文正文TimesNewRoman字号...

电气自动化毕业论文10

电气自动化毕业论文摘要高等职业教育是我国现代化教育的重要组成部分是工业化和生产社会化现代化的重要支柱现行的高等职业教育还处于摸索阶段造成学生职业能力较低难以立即适应岗位需求随着我国综合国力的不断提高掌握电气自动...

自动化毕业论文(24篇)