WeTest接口自动化测试框架

2015-11-17  山水 

一.简介

  1. WeTest是处理API接口测试的轻量级自动化测试框架,java语言实现,拓展JUnit4开源框架,支持Ant/Maven执行方式。
  2.  
  3. 工具特点:
  4.  
  5. 1.支持suite,根据JUnit4测试类名正则匹配,聚合相同模块的用例,运行单个聚合类即可实现运行一个模块所有的用例;
  6. 2.支持测试类和方法级别用例并发执行,缩短执行时间(用例间需线程安全);
  7. 3.支持失败重试,包括执行中(@Retry注解)和结果跑完(根据Ant/Maven失败日志,扫失败日志,JUnitCore跑失败用例,多线程执行);
  8. 4.邮件通知结果。

框架图:

这里写图片描述

二. 开发环境

  1. Java IDEJDK6以上, JUnit4 MysqlAnt/maven Svn

三.项目结构

  1. 1.com.weibo.cases.hugang,可以新建多个以模块或者以人的维度管理的用例集,测试用例放在该包下。
  2. 2.com.weibo.cases.suite,聚合相同模块测试用例的聚合类。
  3. 3.com.weibo.common,封装不同接口为特定方法。
  4. 5.com.weibo.global,接口http请求(getpost),HttpClient实现;http请求返回的String反序列化成Javabean对象,Jackson实现。
  5. 6.com.weibo.model, 接口返回的结果对应的Javabean类。
  6. 7.com.weibo.runfail, 用例结束后,重跑失败用例。
  7. 8.com.weibo.runner, 自定义的runner, @Retry(运行中重试),@ThreadRunner(单个类并发),@ConcurrentSuiteSuite类和方法级别)等。
  8. 9.com.weibo.userpool, 用例中申请测试账号,JDBC实现。
  9.  
  10. 配置文件:
  11. c3p0.properties 用户池数据库连接池配置, mysql地址,账号,密码;连接池最大,最小连接数。
  12. global.properties 测试环境设置,ip, port, appkey, retry默认设置。

四.调度方式

  1. shell脚本进行调度,根据不同模块,执行对应的build.xml;
  2. build_***.xml中指定测试模块,shell脚本会根据你的选择,ant执行不同的xml,达到运行某个模块的功能。
  3.  
  4. 二期已经使用Taobao toast自动化测试框架二次开发,前端调度。

五.测试用例填写规范

  1. 1.每个用例使用
  2. try{
  3. 用例;
  4. TestLogComment("用例描述");
  5. }catch(Exception e){
  6. fail("用例信息");
  7. }finally{
  8. 清关系等;
  9. }
  10. 结构;catch()能捕获非assertThat失败,如接口跑异常; finally里清try语句块构建的关系等;
  11. 2.每个用例之间不能有任何依赖,都是单独的;
  12. 3.每个测试Class名,后缀应该跟该相应模块相关,主要为聚合某一类功能,正则匹配用。

六. 使用方法

团队成员,可以将自己添加的case上传到SVN上,协同工作。单个case可以直接在eclipse上运行。 对于自动化回归测试时,可以根据不同模块,执行对应的build.xml。

1 运行shell脚本,运行不同模块用例。

这里写图片描述

2 邮件推送运行结果,并将本次运行的失败日志作为附件发送,将失败日志放到com.weibo.runfail下,运行RunFailedCases.java重试。

这里写图片描述这里写图片描述

七.WeTest Features

这里写图片描述这里写图片描述这里写图片描述这里写图片描述这里写图片描述这里写图片描述这里写图片描述

八. 流程图

1. 用例执行流程

这里写图片描述

2.用户池获取用户

这里写图片描述

3.接口调用流程

这里写图片描述

4.调度脚本流程

这里写图片描述

5.初始化流程

这里写图片描述

相关内容介绍:

JUnit结果重跑失败用例(支持Mvn和Ant)

JUnit4多线程执行测试用例

github开源地址:

https://github.com/neven7/WeTest


322°/3229 人阅读/0 条评论 发表评论

登录 后发表评论
山水
访客 911
山水 的其他博文 更多