★通过QTP现有的功能管理脚本,对象和数据的缺点
1.脚本文件过大:
主要是两方面原因导致,
一是对象库的文件,默认生成得每个空的对象库文件为192K,这样一个空的QTP脚本文件就至少需要192K*2=384K的空间(Action0和Action1),如果分割的Action多的话,占用的空间就更多。
二是Excel的文件,同样由于分割Action,每个Action需要使用一个独立的Sheet,包括脚本中调用的Action,这个在复杂的脚本中,表现得更加明显。
2.文件数量过多:
一个最简单的QTP脚本,有很多的文件和文件夹,当分割Action较多时,文件数与Action的个数呈正比上升。如果使用Action复用的方式的话,会在维护、转移、版本控件等方面存在巨大的困难。
3.不利于查看脚本:
使用Action的方式来保存脚本,用户在查看相关脚本时,不得不需要打开QTP,然后再把相关Action导入进去,这样将不利于脚本的查看。也给脚本的维护增加了难度。
4.不便于脚本批量运行:
虽然QTP自带一个批量运行工具可以批量加载所要运行的Action。但是如果你想要重新调整Action的执行顺序的话,那你接下来就有的你忙了。
5.测试脚本维护量大,维护起来成本和时间大,维护难度上升
现在的脚本是对象,数据,和脚本都是保存到一起,放到一起管理的,所以维护的时候需要打开脚本,在脚本比较多的情况下,增加了维护的难度和量。
6.对异常窗口的处理能力弱
目前QTP对异常窗口的处理能力比较弱,现在的解决方式是用RecoverySenario或者在后面家IF判断来解决, 假如用RecoverySenario的话,判断的时间很慢,效率低,而且成功率也很低。
使用IF来判断的话工作量大,只要是有可能出现类似提示窗口的话都要进行判断。
★解决办法和方案
1.使用数据库或者XML来保存对象库信息
脚本所用到的对象统一放在数据库中,并将相同模块的对象放在一个表中。在运行相关模块的脚本前,先将某个模块的对象库通过存储过程提前加载进去。
2.使用Excel的文件来管理测试数据
将测试数据保存在单独的Excel文件中, 并将相同模块的数据放在一个sheet中。在运行脚本的时候用到测试数据的时候,通过字段名读取相关数据
3.使用Excel的文件来编写自动化测试用例
我们通过使用Excel文件来编写自动化测试用例,通过该文件的相关字段信息来动态生成自动化测试脚本,QTP中没有原始的自动化脚本,而只是调度各个模块的中央控制脚本,这样有利于以后的维护
4.使用Excel的文件来管理自动化测试用例并且批量运行脚本
将自动化测试用例保存到Excel中,可以很方便的更改测试的执行顺序,且每个测试人员都拥有一张TestPlan,可以更加清楚的了解测试人员编辑脚本的情况。
5.编写自定义函数
我们可以通过编写自定义函数来解决对象识别的问题,或者使自动化脚本操作和维护更加简单和方便
6.写一个单独的程序来监控异常窗口程序
写一个单独的窗口监控程序,自动监控异常的类似提示窗口的窗口程序,然后发现该窗口对该窗口进行处理
★框架需要的功能和结构说明
1.中央控制模块
调度所有模块的核心模块,用来通过自动化测试用例来动态生成脚本的核心脚本,在QTP中完成
2.数据模块
保存测试需要的数据,通过字段来读取数据,可以通过QTP插件或者自己编写VBS脚本来设置脚本的读取方式,使数据读取更加灵活
3.对象模块
对象的相关信息可以通过数据库或者XML来管理和存储,在对象比较多的情况下建议使用数据库进行管理,通过存储过程来读取对象,使相关的对象拼接成QTP可以识别的字符串
4.比较模块
没有验证的自动化测试等于没有起到什么作用,所以验证模块也是非常重要的模块,该模块目前为止只能通过自动化测试人员来编写完成,然后通过自动化测试用例中的标识来调用相关模块
5.自动化用例管理模块
通过Excel的文件来管理自动化测试用例,来控制自动化用例的顺序或者通过QC来管理自动化测试用例的调度和顺序
6.日志模块
跟踪脚本的运行过程,使我们能更方便的找到错误的位置
7.报告模块
生成自动化测试的报告,把该报告放到某个文件夹下,方便我们查看结果,一般使用Excel文件来生成报告
8.导入模块
通过该模块批量自动的将对象相关信息导入到数据库或者XML中
分享到:
相关推荐
APP自动化项目中,使用robotium框架的构思,搭建过程中的一些说明
本文档将深入探讨办公自动化网络系统的特点及其构思。 1.1 办公自动化概述 办公自动化(Office Automation,OA)是指通过计算机技术实现办公室工作的自动化,包括文档处理、信息管理、任务调度、协同工作等多个方面...
本书提供了机床进给压导、上下料装置、工件夹紧装置、机械手等多种自动化机械装置的设计构思,涵盖了从简单到复杂的自动化机械应用。此外,书中还考虑了机械科人员对电气控制知识的需求,因此特别增加了对气控制回路...
【标题解析】:“基于CDIO自动化专业高素质创新人才培养模式研究”这一标题暗示了该压缩包内容聚焦于教育领域,特别是高等教育中的自动化专业。CDIO代表Conceive(构思)、Design(设计)、Implement(实现)和...
开发过程严谨有序,涵盖系统概述、深入分析、精细设计、数据库搭建以及全面测试等环节,各部分紧密相连,共同推动系统从构思逐步走向实现,最终成功整合出一套功能完备的办公自动化管理系统。 该系统界面友好、操作...
在现代教育中,特别是在化工类专业教育中,"化工仪表及自动化"是一门基础且重要的课程。该课程主要包含化工检测仪表知识和自动控制系统知识两大领域,这些内容不仅知识点多,而且部分知识点较为抽象。这导致学生在...
这种教学模式在全球范围内广泛应用于工程教育领域,特别是在机械设计及其自动化方向,它为培养具有综合能力的工程师提供了新的教育框架。 在机械设计及其自动化专业中,CDIO模式的核心是将理论知识与实际工程问题相...
文献综述是对相关领域研究的总结,包括已有的办公自动化系统、技术趋势、理论基础等,它为项目的理论框架提供了支持。阅读文献综述能帮助我们了解项目所处的研究环境和现有技术的状况。 英文文献可能涉及到国际上...
《CBE-CDIO理念下机电类专业留学生实践类课程构建——以“自动化生产线设计与调试”课程为例》 在当今全球化教育背景下,为适应快速发展的科技趋势,培养具有国际视野和实践能力的机电类专业留学生显得尤为重要。...
将CDIO理念应用到机械设计制造及其自动化专业的课程体系中,是适应现代工业需求的重要举措。高校必须科学构建适应CDIO理念的课程体系,这样才能在夯实专业课程基础的同时,深化学生的思维能力。为此,高校需要设置...
自动化装置设计基础中,测控仪器总体设计是指在进行仪器具体设计以前,从仪器自身的功能、技术指标、检测与控制系统框架及仪器应用的环境和条件等总体角度出发,对仪器设计中的全局问题进行全面的设想和规划。...
在电气工程及其自动化专业(电力系统方向)中,采用CDIO模式,不仅能够帮助学生建立系统的知识框架,还能使他们在实际的工程环境中学习和应用知识,从而更好地理解和掌握电力系统的工作原理和应用技术。 在实践性...
jest.config.js是Jest测试框架的配置文件,确保了自动化测试的顺利进行。commitlint.config.js用于规范提交信息,提高了代码提交的质量和可读性。package.json文件记录了项目的所有依赖关系,以及项目的名称、版本和...
关键词“在线电影评价系统”、“SSM框架”、“MySQL”和“自动化”揭示了研究的核心点,即开发一个使用特定技术栈的电影评价系统,该系统能够自动处理和管理大量数据,确保信息的安全和高效运作。
【机械设计及其自动化专业】作为具体实例,展示了如何将CDIO理念融入到教学中。新的培养计划分为基础培养模块、技术基础培养模块和专业培养模块。基础培养模块注重基础理论知识的学习和巩固,同时通过实验、综合训练...
PLC通信模块实现了上位机与底层控制器之间的信息交换,保证了生产过程的自动化和智能化。数据库存储模块用于存储大量的生产数据,为决策支持提供数据基础。标签打印功能则可将生产信息实时打印到标签上,便于物流...
ASP网上办公自动化系统是一款基于ASP.NET技术开发的项目,它为企事业单位提供了高效、便捷的办公环境,实现了日常工作流程的自动化。此系统包含了完整的源代码、论文、开题报告、文献综述、英文文献以及答辩PPT,是...
MVC框架的开发流程包括了从项目的初步构思到最终发布的全过程。以下是一个典型的MVC项目开发流程: 1. **规划项目主题**:确定项目的主题方向,例如是一个电商网站还是一个企业官网等。 2. **编写项目需求分析**:...
10. **持续集成/持续部署(CI/CD)**:采用Jenkins、Travis CI或GitHub Actions等工具,可以自动化构建、测试和部署应用,加快迭代速度并减少手动错误。 通过这个电商项目,开发者不仅可以学习到Kotlin语言的实践应用...
APIJSON是一种创新的、开源的RESTful API解决方案,它的核心理念是自动化地处理JSON格式的请求和响应,使得开发者可以专注于业务逻辑,而无需过多关注数据交互的细节。APIJSON的初期构思旨在解决传统API开发中的痛点...