自动化测试之QTP应用.ppt
自动化测试之QTP应用,IT部-综合系统测试组,内容,一、自动化测试介绍,二、QTP工具简介,三、QTP工具基本使用,第一章 自动化测试介绍,1.1 什么叫自动化测试1.2 自动化测试的适用性1.3 自动化测试的优势1.4 自动化测试的步骤,1.1 什么叫自动化测试,自动化测试含义:是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。,自动化测试的意义:自动化测试的初衷就是为了把测试人员从枯燥无味的手工测试中解放出来,让测试人员有更多的时间关注真正需要关注的问题,而不是把大量的时间放在缺陷相对少的用例执行上面。,转 化,1.2 自动化测试的适用性,软件需求变动不频繁:指对系统功能及业务逻辑影响小,维护脚本的工作量小,且测试周期较长。,软件结构相对复杂:1、系统高内聚,接口调用多;2、流程结构复杂,条件判定多。,软件系统界面趋于稳定:指测试后期的回归测试、系统或功能更新及漏洞修补,不太影响界面及大部分功能。,适用条件,二,三,一,1.3自动化测试的优势,1,2,3,对软件的回归测试更方便。,可以运行更多更繁琐的测试,提高测试效率(不会受情绪影响)。,测试脚本的复用性。,优势五点:,4,充分利用资源,降低成本。,5,测试具有一致性和可重复性。,自,化,动,1.4 自动化测试的步骤,分 析:1、自动化测试的可行性(适用性,投资与收益)。资源文件:2、复用Action,函数,系统变量,函数等。,第二章 QTP工具简介,2.1 QTP9.5的安装2.2 图解QTP9.5界面2.3 录制前IE与QTP9.5的设置2.4 脚本的录制、执行、结果查看,2.1 QTP9.5的安装,QTP:Quick Test Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。,第一、双击QTP9.5安装文件setup.exe,接下来就一直下一步,如图所示:,第二、第一次启动QTP之后的安装,破解方法:1.安装QTP9.5原程序解压压缩包后,运行QTP92中的setup.exe,安装时填序列号:0123-28206021862.获取免费注册号安装完原程序后,将GetLicense.exe注册机放到安装目录(默认 C:Program FilesMercury InteractiveQuickTest Professional)并运行它,注册机将生成一个注册文件,该文件在C:Program FilesCommon FilesMercury InteractiveLicense Manager。用记事本打开名字为lservrc的文件,复制“第一行中含#之前的所有字符”。第一次运行时,选择seat licence,将前面复制的字符粘贴。确认后,就可以无限期免费使用QTP9.5。,2.2 图解QTP9.5界面,2.2.1 双击桌面图标 打开QTP,如图所示:,解说:1、图为QTP的插件加载界面,根据不同的需要选择不同的插件;灰色的是没有许可,黑色是通过许可的可以选择。2、不同的插件支持不同应用程序录制。,2.2.2 QTP主界面模块,如图所示:,2.2.3 QTP常用工具条介绍:,Option选项语法检查测试对象属性查看,QTP有三种录制方式:1、正常录制2、模拟录制 3、低级录制,2.2.4 俩个视图:,关键字视图,它以一种对象的形式按顺序记录你每一步操作的对象,比代码更加直观,且你可以对对象进行编辑。,它将你操作对象的动作、对象以代码记录下来。这个视图可以直接编写代码来实现你的操作。,2.2.5 对象库认识:,一、什么是对象库?它是用来存储被测试软件对象以及对象的属性值的一个容器、仓库。1、对象库用来保存录制过程中操作的对象、对象的属性,也可以手动添加。2、有序、统一的对象库结构有助于快速开发脚本。二、介绍俩个对象1、TestObject(TO):在仓库文件里定义的仓库对象,仓库对象是存储实际对象的特征属性值。2、RuntimeObject(RO):被测试软件的实际对象。三、QTP对象识别机制QTP识别对象,一般是要求先在对象仓库文件里定义仓库对象,里面存有实际对象的特征属性的值,QTP运行的时候会根据脚本里对象的名字,在对象仓库里找到仓库对象,再根据仓库对象的特征属性描述,在被测试软件里搜索到相匹配的实际对象,再对实际对象进行操作。,2.2.5 对象库的基本知识:,2.3 录制前IE与QTP9.5的设置,2.3.1 录制前IE设置:,1、确保你的 IE 运行正常 2、依次点击菜单-查看-工具栏,一定要将上网助手等插件卸载掉,如 3721 和一些拦截广告的软件等。3、修改浏览器的设定,不让浏览器帮你自动输入帐号和密码,取消自动完成的设定 的步骤:(1).开启 IE 浏览器,点选工具-Internet 选项-内容(2).点选 个人信息中的自动完成,进入自动完成设置。(3).取消表单上的用户名和密码选项(4).点选确定,关闭对话框 如下图:,2.3.2 录制前QTP的设置:,1、点击QTP工具的Automation菜单中的Record and Run Settings选项,如图分别设置俩个页签,选择Open the following address when a record or run session begins,然后输入地址,选择你要打开的浏览器,这里选择了Microsoft Internet Explorer:,输入你要录制的地址,选择浏览器,2、QTP工具Test Settings的设置,(1)运行 Data Table iterations 的方式:执行第一行,执行所有行,执行指定行数(2)设置运行时出现错误时的处理方式:(a).弹出错误信息对话框(b).执行下一个 action(c).停止运行(d).执行下一步(3)Object synchronization timeout:设置执行步骤等待对象同步的最长时间。注意:若是和 web 对象一起工作时,QTP 等待的最长时间为这个时间加上右边图上的Browser navigation timeout(Web 选项页)设置的时间,2.4 脚本的录制、执行、结果查看,2.4.1 脚本的录制 按照2.3节-录制前IE与QTP9.5的设置完成之后,我们就可以进行脚本的录制,点击工具条上 按钮,出现下图就表明QTP录制开始了,那么对被测试对象进行一些相关的操作之后,点击 就停止录制,这时候就出现代码视图、对象页面视图,然后点击保存。,2.4.2 脚本执行及结果查看:脚本录制好之后,点击 按钮,QTP就会按照我们录制的脚本重现我们的操作。出现如图所示:,脚本执行完之后,点击 按钮,查看结果,如图所示。也可以在Tools-Options-Run的选择view result when run session ends复选框,那么在执行完脚本之后,自动会显示结果。,上图看到所有内容都是Passed,就说明我们要验证的内容跟实际执行的结果相符,测试通过。,那么我们拿到结果就查看脚本执行的具体情况,上图显示的为一个总的结果,没有显示一些细节。点击左边的目录结构,可以具体到每个执行的操作。,同时我们也可以将结果导出,QTP提供三种形式的结果导出,分别为:DOC,HTML,PDF三种。如果连接了QC,也可以将结果放到QC里面。,第三章 QTP工具基本使用,3.1 检查点的使用3.2 参数化数据表3.3 关联,3.1 检查点的使用,3.1.1 什么叫检查点?,检查点的含义:是指将指定属性的当前值与该属性的期望值进行比较的验证点。例如:在进行WebUI测试时,会重点检查文本内容、按钮的属性、图片的大小等是否与需求规格说明书的要求一致,在自动化测试中这些验证点就是利用检查点来完成的。,检查点的分类,总共为10个:1、标准检查点 2、位图检查点3、文本检查点 4、表格检查点5、数据库检查点 6、页面检查点7、文本域检查点 8、可访问性检查点9、XML检查点 10、图像检查点,3.1.2 标准检查点,标准检查点的作用:用来检查对象属性的。例如:验证“Sign-In”按钮名称为“Sign-In”,就可以通过QTP的标准检查点插入功能实现。插入标准检查点的步骤:1、首先通过专家视图or关键字视图定位登陆窗口所在的测试步骤,此时就会在Active Screen中看到图1。2、把光标定位在被测对象的位置右击,在弹出的右键菜单中选择【Insert Standard Checkpoint】命令,在弹出的窗口中单击【OK】按钮,弹出图2所示的检查点属性窗口。3、标准检查点属性窗口中列出了Sign-In按钮的很多属性值,可以根据项目需要设置需要检查的属性。例如,选择【alt】的属性并设置为Sign-In,单击窗口【OK】按钮,可以在QTP的关键字视图中看到增加了一个Sign-In检查点的步骤,并且在专家视图中显示如下代码。Browser(Welcome:Mercury Tours).Page(Welcome:Mercury Tours).Image(Sign-In).Check CheckPoint(Sign-In),选中右击,选择这一行出现active screen,期望结果,验证检查点是否有效果?保存之后,点击run按钮,执行完之后查看结果如图所示此检查验证点通过:,实际结果与期望结果一致,表明已经通过,如果期望结果与实际结果不一致,那么result就会显示出来如右图所示,期望结果在左图设置。这里结果为Failed,期望结果与实际结果不一致。,期望结果,期望结果,实际结果,3.2 参数化数据表,3.2.1 参数化的作用作用:在QTP中,可以通过将固定值替换为参数来增加脚本的灵活性和功能,通常应用于测试步骤和检查点的参数化。参数化的种类数据表参数化:通过数据表可以使准备好的数据循环执行。每次循环时,QTP使用不同的数据,已达到数据驱动测试的目标。环境变量参数:通过环境变量可以设置一些测试计算机自身的一些环境变量,也可以设置一些自定义的变量值。随机数字参数:通过随机数字参数可以使用随机数字作为测试脚本的值。,3.2.2 如何参数化数据?步骤:1、选择参数。切换到关键字视图界面,选中【Value】列下的【New York】,如图所示。单击 符号,弹出参数值设置窗口,如右图。,点选【parameter】单选按钮,在其下拉列表框中可以看到有【Datatable】、【Environment】、【Random Number】3个选项,这里我们选择【Datatable】,即利用Data table 来实现参数化。然后在【Name】输入列名,最好与参数名称相符。下面俩个单选框,选择当前Action即Current action sheetlocal,点击【OK】按钮那么我们就将,例如图中的FromPort出发城市参数化了,最后在列表里输入数据。如图:,Datatable里的参数化数据,Run之后,查看结果列表里根目录下有三个子目录,分别为数据表里3行数据执行的结果,右边也有数据表的执行内容。,Thank You!,承载信任 助力成功,