QTP小型web自动化测试框架设计之总论
Frank
首先我们看一下这个测试框架的总流程:
我们看到,Dive/Engine会启动QTP,run要求跑的test case.而QTP会跑testcase,读取testcase 的代码,从libraryfiles 调用函数,从OR调用 test object, 从 datatable或者外部数据源读取tes data.跑完的结果是生成resultreport, 或者自定义的测试报告。
One TC (本质上也是一个action)includes many reused actions;
A reused action includes many test steps, each step like thefollowing:
Each step: function(object , testdata)
àE.g. Browser("browser").Page("page").WinEdit("edit").Setdata
所以实现了代替手工的,完整的测试自动化解决方案。
文件结构
好的文件结构是可以看得出清晰的自动化测试框架的。反之,好的测试框架也必须要有好的文件夹结构。
下面是比较典型的文件夹结构:
TestDoc: 放测试文档,比如说需求文档。
TestEngine: 一个excel和一个vbs文件:
Excel有两栏,一栏是test case name, 一栏是 run与否。
Vbs文件是启动QTP,然后run上面excel标记要跑的test case。
EnvironmentVariable: 放置外部的环境变量。
DataSheet:放置外部测试数据。
FunctionLibrary: 放置外部封装好的功能函数。
ObjectRepositor:y可以放置share(共享)的对象库。
ShareActions:共享的action(比如Login).
TestScripts:放置testcase脚本。
有了这么清晰的文件结构,QTP在运行时就知道去哪个文件夹找相应的函数,reuse action等。
总结:
具体的代码就不再写了,可以根据实际项目code或google.对于框架最核心的部分是library, 有专门的文章讨论:
http://blog.csdn.net/franktan2010/article/details/7326529