简单的接口自动化测试框架开发经验

发表于:2016-9-14 13:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:天成象    来源:51Testing软件测试网采编

  这一个多月以来,终于利用业余时间,按照我对上家公司的接口自动化框架的使用感受,开发出了一套功能类似的接口自动化测试框架。感觉不足的就是我前端水平太菜,页面太简陋,不过总算不影响使用。暂时我还要学习其他知识,所以就不再去美化界面了。
  下面就来说说思路吧,也就是功能文档吧,希望能抛砖引玉,也希望能给广大读者一个启发。一般来说,我们接触自动化测试之前肯定有几年工作经验了,对于测试的执行流程也很清楚,自然写接口自动化测试框架之前也知道接口测试的基本执行流程:往数据库中插入数据,发送请求,对比结果。我的测试框架是把这个过程中的事物都对象化了,自然测试步骤这个类就需要几个子类了:需要执行sql的类,需要执行发送请求的类,需要执行对比结果的类。但是单有这几个子类就够了吗?接口请求数据有时候需要变动,比如时间参数要变,难道我们每次执行自动化测试之前还要手动去改?所以还需要一个执行java文件的类。那么对比结果的类呢?一般结果都是string类型,但是有些是json格式,有些是xml形式,所以这时候最好分3个子类,普通的String对比类,json对比类,xml对比类。
  说到这里,我还没有介绍框架的整体,就开始介绍其中的内容了,我就在这里说明下:
  1. 框架是个web项目,这样可以搭在服务器上供大家用。当然也可以本地用
  2. 框架的主体是后台,前台只有两个页面:一个是展示项目列表的,选中项目点击后会跳转到用例列表页面;用例列表页面主体是一个用例的table,每个用例后面有一个run的超链接(是超链接而不是button的原因仅仅是我前台技术约为0,button没弄好),点了就执行这个用例,table上面也有个run的超链接,点了会顺序执行所有用例。用例是后台在执行,页面没5秒刷新一次获取用例执行结果
  3. 框架后台主要有几个package:
  3.1.一个是将project,test suite,test case,test step类化了,同是前3个类有一个scane方法,用来加载此目录下的子集(比如project下面的test suite),test step则有一个执行方法(其他属性略过不说)。当然test suite和test case,test step名字前都加上序号,方便排序。
  3.2. 一个package是存储servlet类,用来接受页面命令并调用其他类方法
  4. 说下注意点吧:执行用例要另开一条线程,你不能保证你的java里面不会调用Thread的sleep方法(业务需要)。
  安利一下吧:执行项目外的java文件有两种方法:一种是使用第三方jar包,这个jar包能获取当前classloader并且能把string转成class加载进classloader,目前我再用。另一种方法是动态编译java文件到项目路径下,然后动态加载,下一个java重复上面步骤。
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号