本篇文章我来分享一下如何采用QTP自动化测试工具来采用关键字驱动测试框架来完成一个企业系统TechExcel DevTest的回归测试。
我们的需求是:
对于回归测试,由于我们自己的DevTest系统 GUI界面是比较稳定的产品,我们要求通过自动化测试来完成我们每一次的回归测试.但是我们遇到的问题是:我们用QTP可以简单的录制,可以回放没问题.但是我们一直缺乏一个有效的框架,统一的管理来让我们的脚本变的更有可重用性,可移植性,可维护性.让数据与脚本脱离,界面元素名与测试内部对象名分离、测试描述与具体实现细节分离.
什么是关键字驱动测试:
以下我来解释一下我们关键字驱动测试中最重要的Driver引擎脚本如何书写:
第一步:
加载TestCase的内容,以下截图是DevTest系统的自动化测试case。脚本中按照加载的TestCaseExe内容是Y还是N来判断我们需要执行哪些case。如果是Y,则执行;反之,我们则不执行。
第二步:
在上一步中判断中是Y的得到它的TestCaseID内容,然后我们到另外一个加载进来的Excel中内容去对比,如果TestCaseID和之前得到的TestCaseID如果是相同的话,我们就按照Keywords中的关键字来判断执行哪些函数。
第三步:
在按照得到的关键字需要去执行哪些函数中,对每个函数执行后,都执行一遍createlog,这样我们对每个执行的函数都可以得到一个结果。
我写的这个createlog函数结果格式如下:
时间,TestCaseID,TestStepID,TestStep name,执行结果
以下是各个文件夹结构的解释:
解析表格中的各个关键字(例如测试对象、测试方法、测试数据等),解析成测试脚本,然后执行
业务逻辑的函数---比如Login/Logout/NewTemplate…
公共函数------------比如connectdatabase,createlog…
以下图片是关键字驱动回归测试的流程图