关键字+数据驱动自动化测试框架

在几年的自动化 测试 中, 开发 过数据驱动模式的框架,也开发过关键字驱动的数据框架,但总有些遗憾,总感觉这些框架还不是我想要的,因为他们有两点还有欠缺:
1.数据驱动模式可以比较方便的设计修改测试数据,但不支持快速自动化开发与后期 脚本 维护,功能函数非常多。
2.关键字驱动可以比较方便维护脚本和进行快速自动化开发,但对不断变化的测试数据支持又显得乏力

在又接手一个大型 项目 后,决心打破这些模式,经过一个月的开发,初步完成了关键字+数据联合驱动框架,只是目前还有一些细节处理上面需要加强,基本已能解决上面两种框架的问题了,现在先把这种联合驱动框架的结构分享给大家,可能你们会觉得就几个字而已,呵呵,看得懂的用心体会,看不懂的回帖说没有用也行,后期等我觉得足够成熟了会把框架核心部分源代码分享出来,当然会剔除 公司 业务部分。

关键字+数据联合驱动框架结构:

     采用三层架构:框架底层支持函数-->脚本解析层(可根据不同规则二次开发)-->脚本层(包含场景恢复)、用例层、数据层(三者相互调用、支持)

1 底层文件:FramworkFunction.vbs(主要分为基本功能函数与对象操作函数)、Parameter.vbs( 记录 设置全局参数)、Print Screen .vbs(完成截屏功能)、Report.vbs(与测试报告相关函数)
2 脚本解析层:RunTestCase.vbs、WritTestData.vbs ……
3 脚本层:MainConturl(主控脚本,控制整个测试流程中各 action 的调用)
                          Action(各子脚本,以功能模块为单位)
  用例层:LoginERP.xlsx、ProjectInformation.xlsx、CreateFangYuan.xlsx……等,也是以功能模块为单位,其中的 test case是以各模块中单独功能为单位

  数据层:Main_DATA.xlsx(主控脚本驱动文件,等整个流程完善再做)、LoginERP_DATA.xlsx、ProjectInformation_DATA.xlsx、CreateFangYuan_DATA.xlsx ……



我用的是三层结构:
用例层脚本;
操作层脚本;
对象层脚本;
对象层是最底层,负责提供对象识别和获取的代码,如getObject(String id,String value),另外还提供了一些基础服务,比如对EXCEL的创建、读写、删除、比较,还有生成日志的功能;我的自动化测试过程中,测试数据的存储、读取、输入全部使用的是EXCEL
操作层脚本封装的软件的操作,它有对象层中的方法调用而形成,比如一个登录操作,会涉及到输入用户名、密码、点击登录三个操作,那我会封装一个方法public void login(String usrname,String pasword),这样就形成了可重用的操作组件;
用例层就是用例脚本,所有的用例脚本都调用操作层的脚本,考虑到以后的可维护性,规定除非不得已,否则用例层脚本不允许直接访问对象层的方法;
另外还有一些辅助功能,一个是脚本调度的类,其作用类似于MainConturl,只是调用的是用例脚本而不是action,还有一个log类,用来创建自动化测试的日志,并形成简单的统计结果。目前我们在做的自动化测试,有一个思路就是尽可能的把工具提供的功能抽出来,用自己的代码实现,希望能通过这样的方式,将自动化测试对工具的依赖程度降到最低



我们所用的自动化测试框架,跟LZ所说的有点相似。
有一套自动化用例生成工具,把用例翻译成自动化脚本伪代码,同时将数据部分提取出来专门放到一个文件中,便于数据修改。
再在QTP中将伪代码翻译执行。
这样做的好处是,QTP很多核心代码功能函数都可以共用,维护工作量相对少一些,而且测试数据部分修改起来也比较容易。
不过也有不好的地方,就是那个自动化用例生成工具操作起来可能会有点复杂,上手需要一定的时间。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值