这是一个叫Robel.Yi(他的博客我始终没找到)的前辈写的关于QTP前进的道路,目前我处于第四阶段,前面的路还很长,现在将他的帖子转载在这里,算是对未来方向的一个简单定位。谢谢Robel.Yi,你写得很好,我顶你!~
1. 入门,初识自动化 相信很多的朋友,包括我自己也是一样,在刚听到或接触到自动化测试的时候,迫不及待的下载了一个工具开始用,然后傻眼了,面对例如功能强大QTP,不知如何下手,同时也会严重的打消我们的积极性,在这里,我建议每个刚开始接触或学习自动化的朋友,先了解一些自动化的概念,在这一阶段你要先搞清楚这几个问题:
什么是自动化测试?
自动化可以做什么?
学好自动化测试需要哪些知识准备?
自动化测试的局限性?
你做的项目适不适合做自动化测试?为什么?
为什么要先搞懂这几个问题?因为你先了解了这些问题后,有助于消除你对自动化测试学习的恐惧,也会有一个初步的思路,不会觉得无所适从,再者,带着问题去学习,能更好的理解并记住然后形成自己的思维。
2. 下载安装QTP 这时候是不是对自动化测试有所了解了,那现在就下载一个自动化测试工具,然后安装并破解它或使用试用版本,开始自动化工具的学习吧。在这里我要谈一点我个人的经验:我应该学习哪个工具?对于这个问题,我想说这跟我当时学习编程语言一样的,到处找资料看人家的经验,人家说VB容易上手,马上学习VB,看到人家说DEPHI好就学习DEPHI,人家说JAVA好就学习JAVA。。。。。。。,甚至一天几变,几个月下来,什么也没学会,最后安下心来从C开始吧,自动化测试也是一样,不要老去问别人学什么好,选择一个,硬着头皮学下来就是了,你精通了一门工具后,再去用另一个工具也就是一两周的时间就能运用自如,所以,就从QTP开始吧,它的IDE很直观,适合新手,然后下载一份用户手册,先了解下各个功能
3. 简单自动化 QTP装好了吧,那现在就开始我们的第一个自动化体验:录制flight自动化脚本,这个过程比较简单,录制三个部分:登陆、定票、查询定票和删除定票,具体的业务过程和录制过程我就不说了,网上有很多资料,本文也不是一个实验指导书,只是提供一个比较清晰的自动化学习路线。当然,在录制了这些脚本之后,回放成功,第一个自动化完成了。
4. 增强脚本功能 这个阶段主要是学习一些QTP的基本功能,在这里你要去增强一下你的脚本了,参数化登陆用户名和密码,参数化航班选择、定票张数,增加金额的检查。主要是学习参数化和检查点,这里会遇到一些困难:
那就是选择航班这里,可以运用随机数等方法来参数化航班
金额的检查会需要用到一些简单编程,总金额=张数*单价
通过定单号查询定票会要用到对象的GetRoProperty("")方法
这个学习的过程,还会遇到一些调试方面的困难,不过不用心急,慢慢来,成功是建立在失败之上的,记得在调试时,可以按F11单步运行,建立你的输出如:msgbox实时输出你想要看到的信息。
5. 数据驱动 经历了上面的阶段,在这里将要接触一点数据驱动的思想了,其实很简单,就是把你参数化的地方拿出来,放到一个外置的excel文件里面,然后通过读取excel里面的数据来控制循环次数,大概的步骤如下:
创建excel对象
循环读取excel数据赋值给变量
在脚本中引用变量
具体每个步骤的实现我就不详细说了,网上也是资料大把
6. 功能函数化 这个阶段主要是把各个可以重用的功能写成函数,而主控脚本主要是用来调用这些功能函数,实现重用和结构清晰化,这个阶段又可以分成以下几个子阶段:
把单个的功能写成一个action,主脚本调用这些action,在这里会遇到一个问题,那就是关于被调用action的设置,这个在我的博客里面有一篇文章有介绍,可以去看看
把单个的功能写成函数放到一个action里面,脚本最下面调用这些函数
把单个的功能写成函数到一个.vbs文件,脚本中调用这些函数,在这里也会遇到一个问题,那就是QTP调用.vbs文件,这在我的博客里面也有一篇文章详细写了,这里就不再重复
这个过程完成后,就大概有基本的框架了,接下来进入下一个阶段
7. 完善框架 在这个阶段,我们以网上一位朋友的轻量级自动化测试框架来说,相信有很多朋友都有看过,我也懒得重新去做一个示例了,在这里你需要建立你自己的report
、日志文件、函数文件、数据驱动文件、脚本文件等,把这些都放到单独的文件夹里面,方便管理,并对函数的创建、定义进行规范,详情参见轻量级自动化测试框架
8. 理清框架思想 在这个阶段主要是用来思考和完善你的框架思想了,此时你们应该有一个清晰的思路了,明白自动化脚本开发的各个阶段,并知道最后要做成什么样子,现在重要的一点就是学习做分析和计划了,一个项目交到你手里,你要先评估这个项目适不适合做自动化、自动化哪些东西、哪些功能可以封装起开写成函数、哪些地方需要进行数据来控制驱动,最后评估各个阶段的耗时、需要的资源、各阶段的产出(文档、脚本等)
至此,你的一个完整的自动化测试学习完成了,现在你也可以算得上一名合格的自动化测试工程师了,这当中还会有很多的技术细节等,我没有一一写出来,如果有遇到什么问题可以网上找资料也可以跟我联系,如果你在我的博客里面留言了,当天晚上都会回复,最后两句话请牢记,
自动化框架设计的原则:框架与脚本分离、脚本与数据分离。
Robel.Yi
20008.11.3 上午