基本概念:testng ,http, json, mysql, jenkins, spring

陆陆续续搭建起来的接口测试框架,使用起来并不是特别的理想,所以走上了一条迭代优化的不归路
所谓的框架是指,用例的组织,批量运行,测试报告,参数化配置。

测试框架应该提供哪些功能?

单个功能点的测试
多个用例的组织
日志记录
报告展示

1.0需求: http请求发送, json解析, json格式校验, 数据库数据访问,持续集成部署。
2.0需求: motan协议测试,dubbo协议测试,mq测试

http请求发送

HttpClient自己封装-----丑
unirest–还是不理想
rest-assured—目前的解决方案

json解析

fastjson

json格式校验

json schema

数据库访问和sql执行

jdbc

持续集成,用例的批量运行

jenkins,mvn test

testng

很好的测试框架
监听器:通过监听器实现失败用例重跑,实现用例执行结果入库,失败用例钉钉群告警。
注解
依赖注入:testng + spring 实现依赖注入。
断言检查: assertj

springboot 用例服务平台后端使用springboot

JSON api
mybatis mapper封装增删查改,需要手动写的是多表和复合查询

react + antd 用例服务平台前端使用react搭建

搜索表单
新增和修改Modal框
删除按钮
表格:分页器,total, pageSize, pageNum
图表展示

日志记录

apache的log4j是日志的一种实现

import org.apache.log4j.Logger;
private static Logger log = Logger.getLogger(XXX.class);log4j.properties文件
### 设置###
log4j.rootLogger = info,stdout,D,E### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n### 输出DEBUG 级别以上的日志到= logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n### 输出ERROR 级别以上的日志到 logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

为什么要用java来做接口测试?主要是公司服务端是java的,考虑到可以复用服务端代码,以及后续非http协议的接口的测试,所以选择了java。对于java真的是又爱又恨,爱她的强大,恨她的繁琐。

java版本-API接口测试框架搭建相关推荐

  1. requests+pytest+allure接口测试框架搭建

    文章目录 requests+pytest+allure接口测试框架搭建 一.创建项目![在这里插入图片描述](https://img-blog.csdnimg.cn/969aa95077fc447c9 ...

  2. java接口测试框架搭建_接口自动化测试框架搭建

    一.原理及特点 参数放在XML文件中进行管理 用httpClient简单封装一个httpUtils工具类 测试用例管理使用了testNg管理,使用了TestNG参数化测试,通过xml文件来执行case ...

  3. Java+webdriver的自动化测试框架搭建

    一.webdriver简介 webdriver是一种支持web应用程序自动化测试的工具,利用浏览器原生的API,封装成一套更加面向对象的selenium webdriver API,直接操作浏览器里的 ...

  4. 基于java的api接口测试,人生转折!

    前言 事务我们都知道是什么,而Spring事务就是在数据库之上利用AOP提供声明式事务和编程式事务帮助我们简化开发,解耦业务逻辑和系统逻辑.但是Spring事务原理是怎样?事务在方法间是如何传播的?为 ...

  5. 无人机飞行数据java版本api大疆无人机SpringBoot

    一.项目概述 无人机实时音视频:实时回传无人机音视频,并且自动保存回传视频未MP4格式. 无人机轨迹地图:web端地图实时轨迹和图传. 无人机航线规划:web端地图设置航点.航点动作.航线,无人机按照 ...

  6. Tiled有java版本吗_【Cocos2d-X开发学习笔记】开发工具之Tiled地图编辑器的使用

    Cocos2D-X支持Tiled地图编辑器生成的地图数据文件.Tiled地图编辑器是一个以广泛使用为目标的地图编辑html 器,它使用简单而且能够轻松地在不一样的引擎中使用.目前最新版本使用Qt框架进 ...

  7. mvp架构 java_GitHub - AnthonyCoder/MvpForJava: 一个可直接快速引入的 Java 版本的模块化 MVP 框架...

    使用Java构建的一个模块化的MVP的项目 个人项目仅供学习使用,感谢以下开放Api: Demo简介 该 Demo 更加详细的封装思路,请点击文章如何既装逼又优雅的设计一个模块化的MVP架构 提供给初 ...

  8. java二维码生成 使用SSM框架 搭建属于自己的APP二维码合成、解析、下载

    java二维码生成 使用SSM框架 搭建属于自己的APP二维码合成.解析.下载 自己用java搭建一个属于自己APP二维码合成网站.我的思路是这样的: 1.用户在前台表单提交APP的IOS和Andro ...

  9. Windows下搭建ant+jenkins+jmeter自动化接口测试框架

    Windows下搭建ant+jenkins+jmeter自动化接口测试框架 引言 为什么要持续集成? 1.减少风险 2.减少假定 3.减少重复过程 4.增强项目的可见性 5.持续集成可以带来两点积极效 ...

最新文章

  1. Zebra斑马打印机编程C#--入门级别打印
  2. 6 redhat 查看rtc时间_Linux EasyStack-Redhat安装Docker
  3. JAVA报错是一层一层的吗_Java异常处理:给程序罩一层保险
  4. opencore0.6.4_心灵终结3.3.4
  5. Mysql数据库加锁与解锁(转)
  6. vue根据不同权限显示图片_vue多级权限组件的实现
  7. MYSQL索引结构学习笔记
  8. vue2.0中watch总结:普通监听和深度监听
  9. Kali Linux Web 渗透测试秘籍 第二章 侦查
  10. STM32F103定时器输出频率测试
  11. linux 做磁盘配额
  12. NLP情感分析笔记(四):卷积情感分析
  13. kafka相关术语及消息分配策略
  14. EdrawMax v12.0.2跨平台图表软件
  15. c语言锁存器写入1,总线接口作两种用途,为何就要用到锁存器
  16. 使用ConnectBot开源项目在android设备上管理你的linux系统
  17. 多 wan 口路由器配置
  18. 2.Maven创建以及依赖、继承、聚合
  19. 2017年薪资满意度白皮书:五年内月薪不过万太慢!
  20. 急躁型人格分析,如何改变急躁性性格?

热门文章

  1. 【AI视野·今日CV 计算机视觉论文速览 第188期】Wed, 23 Dec 2020
  2. SpringBoot——项目启动时读取配置及初始化资源
  3. C语言中Uint8_t数据类型
  4. 前端开发-编辑器安装-HbuilderX安装过程与基本使用 0226
  5. python-万能函数装饰器
  6. InheritableThreadLocal类原理简介使用 父子线程传递数据详解 多线程中篇(十八)...
  7. Algs4-1.3.33矩阵库
  8. 崛起于Springboot2.X之Mysql读写分离(6)
  9. maven的仓库、生命周期与插件
  10. centos6/7 yum安装mysql客户端和rpm包方式安装方式