《DPI自动化测试QTP脚本.ppt》由会员分享,可在线阅读,更多相关《DPI自动化测试QTP脚本.ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、QTPQTP自动化脚本测试自动化脚本测试 目录目录QTP测试测试DPI的几种实现方式的几种实现方式QTP的简单原理的简单原理QTP框架讲解框架讲解QTP实例讲解及测试报告的分析实例讲解及测试报告的分析QTP脚本的修改脚本的修改QTP的简单原理QTP的脚本运行其实就是一组对象有组织的执行自己的方法,最终完成一个流程的过程。当打开一个web时,想要脚本能够模拟人来操作整个流程,那么就要求这个脚本能够识别人的每一个操作,而人的操作实际上是对web页面上控件的操作,所以只要QTP的脚本能够识别人操作过的控件就可以模拟人的操作流程,而web页面上的控件都是QTP脚本中的对象,也就是说只有QTP脚本中的对
2、象能够被唯一的识别出来,就可以模拟人的整个操作流程。QTP的简单原理TO:TestObject,测试对象,即QTP根据对象的属性描述而创建出来的实例例如:Browser(“QTP_百度搜索”).Page(“百度一下,你就知道”).WebEdit(“wd”).Set“QTP”RO:RunObject,运行对象,即应用程序运行各个控件 QTP的简单原理QTP脚本执行的过程1.脚本的描述-实例化一个TO 2.软件运行-QTP根据运行程序识别出一些RO3.根据TO中指定的属性值去RO中匹配,如果在RO中能根据TO指定的属性值唯一确定一个RO对象,匹配的RO则去执行脚本指定的对控件的操作方法QTP的简单
3、原理举例:举例:SystemUtil.Run C:Program FilesInternet Exploreriexplore.exe,C:Program FilesInternet Explorer,openBrowser(QTP_百度搜索).Page(Page).SyncBrowser(QTP_百度搜索).Page(百度一下,你就知道).WebEdit(wd).Set qtpBrowser(QTP_百度搜索).Page(百度一下,你就知道).WebButton(百度一下).ClickDPI自动化测试脚本实现的几种方式URL方式http组中的非客户端的应用属性方式大多数的客户端应用属性+cl
4、ick坐标方式客户端中有QTP识别不了的对象的或者能识别执行总失败的用坐标来实现DPI自动化测试脚本-URL所有的网页视频都是通过所有的网页视频都是通过urlurl的方式来实现的的方式来实现的根据一个页面的各个连接的url的特点,去模糊获取一个分散的且有代表性的url集合,然后分别打开各个url地址方法方法:打开视频网站的主页,点击各个连接来找页面上的url的特征,然后根据特征去获取url集合优点优点:搜集的对象比较分散,且比较有代表性缺点缺点:存储视频的服务器一旦修改了存储目录,则QTP就获取地址失败,脚本就得重新修改,存储文件的目录修改频繁的网站不宜用此种方式DPI自动化测试脚本-URL举
5、例举例:优酷视频DPI自动化测试脚本-属性方式属性方式获取对象通过对象的属性值的搭配来唯一确定一个对象方法:使用QTP自带的工具object spy和object repository来辅助识别对象的属性,一般使用默认显示的对象就基本上能识别出来注:不是指定的属性越多越好,指定多了增加不稳定性,适中为好优点:相对比较稳定,维护起来比较方便,而且通过失败截图可以准确快速的判定脚本失败的原因缺点:页面相对繁琐的且分类多的应用脚本写起来比较麻烦DPI自动化测试脚本-属性方式举例:iqiyiclient的举例DPI自动化测试脚本-属性+坐标方式属性+坐标方式:一般用于比较大的客户端,对象封装性特别好,
6、有部分对象识别不了,或者是识别不好的,这部分用坐标方式来实现,一般网络电视的或者P2P下载用这种方式比较多优点:可用性比较强,所有的应用都可以通过这种方式来实现缺点:页面的格局改变时,坐标值要重新定位,而且脚本写起来比较麻烦,费时,维护频率比较高QTP的框架Module.vbsModule.vbs:是整个:是整个QTPQTP脚本运行的框架,相当于脚本运行的框架,相当于mainmain函数函数Const.vbs:Const.vbs:整个脚本环境里所用的常量的定义整个脚本环境里所用的常量的定义例如:页面打开的等待时间例如:页面打开的等待时间 openurlwaittimeopenurlwaitti
7、me、视频的播、视频的播放时间放时间LookOneVideoTimeLookOneVideoTime等等Common.vbs:Common.vbs:引用的自定义函数引用的自定义函数Shell_exe.vbs:Shell_exe.vbs:将分析识别结果的将分析识别结果的shellshell脚本转化成函数,脚本转化成函数,好在好在vbsvbs中引用中引用Exel.vbs:Exel.vbs:操作的操作的exelexel的自定义函数库的自定义函数库QTP实例讲解及报告分析脚本的运行需要在工程里运行,脚本的运行需要在工程里运行,dpidpi测试的工程名为测试的工程名为driverdriver,且,且QT
8、PQTP只允许打开一个工程,不允许同时打开多个工程只允许打开一个工程,不允许同时打开多个工程youkuyouku视频案例视频案例IqiyiclientIqiyiclient看视频案例看视频案例QQliveQQlive QTP的报告分析l根据生成的报告去分析dpi的识别情况没跑一次脚本,都会生成一个threshold_report.txt,报告的分析一般要拿QTP脚本的运行报告作为辅助来分析Dpi识别失败的两种情况:1.脚本运行失败了,导致主协议的流量比例异常,一般小于流量比例就定义为识别失败,一般这种情况要手动测试2.脚本运行成功了,但是但是含有一些不应该出现的协议,这时候有两种解决方案:方案
9、一:手动测试,观察是否仍有不应该出现的协议,若不再出现,则测试通过,若再次出现,且此种情况频繁发生则考虑将此协议放开方案二:查看跑脚本的过程中所抓到的包中是否有这种协议的包,若没有的话就是误识别;的确有这样的数据的话,且总出现,考虑放开;偶尔出现的话则不要放开注意:一般不要轻易放开 QTP的脚本修改l确定确定QTPQTP是否运行失败:是否运行失败:一般运行QTP脚本时要将failruncount设定 为3,如果第一次失败了,则要运行三次,这样的话方便确认脚本是否运行失败了,是否需要修改;如果运行的三次都失败了,则脚本一定有问题,必须修改;如果第一次失败了,之后的两次成功了,则说明第一次是偶然,
10、不要修改;如果前两次失败了,第三次成功了,则需要重新跑一次验证 QTP的脚本修改l用QTP的脚本运行报告作为辅助来定位问题,先确定出问题的开始处,之后从此处往后开始改,大多数情况下都是因为一个对象的属性改变了导致运行失败的;确定出问题的开始处方法:1.观察报告的截图,观察截图来定位脚本跑到哪里出错了,就从此处开始检验各个的对象的属性值是否唯一确定;2.重新如果截图挡住了,或者看不清,则需要重新跑一次来确定出问题的地方;QTP的脚本修改l修改脚本的方法:修改脚本的方法:主要有两种情况,一种是url方式获取对象的,一种是通过属性或者属性+坐标来确定对象的;1.URL的要打开网站之后,通过点击页面的视频来发现URL的规律;2.通过属性获取对象的,需要用object spy或者object repository来查看新对象的属性3.如果有点击坐标位置发生变化的,一般需要手动录制一次,来准确确定坐标位置