微信号:gh_be6ab0a8dfb7

介绍:国内首个移动测试交流社区,最专业的 Appium 交流社区.专注于移动互联网测试和 Web 相关测试技术研究.我们的理念:Coding Share Show Cool

基于 JMeter 的 Web 端接口自动化测试平台 IAT

2019-01-29 19:13 t880216t

本文首发于 TesterHome 社区,链接地址:https://testerhome.com/topics/17986

简介

基于之前的 React+UnitTest+Flask 的接口自动化平台开发和趟坑经验,我重新开发了这个接口自动化平台 IAT。

 
           
  1. 项目 Github 地址:https://github.com/t880216t/IAT

  2. Demo 地址:http://ownerworld.tpddns.cn:8089/#/user/login

平台前端采用的 Antd+Dva+Umi 的 antd-pro 模板,结合平台业务设计开发。后端采用的 Flask+SQLAlchemy+BluePrint,结构化更加清晰,ORM 的数据库操作更加稳定。自动化脚本的执行部分,我采用的是扩展性和针对性更强的 JMeter。

框架

功能点

  • 批量导入 har 包生成接口用例

  • 接口用例分组树形展示

  • 用例编辑失焦自动保存

  • 用例编写提供快捷调试模块

  • 支持多类型参数,Json+文本两种校验

  • 支持同一个项目中接口参数传递

  • 提供即时任务+每日定时任务两种任务集

  • 全局 Cookie 管理,全局默认参数,全局请求头设置

  • 可编排的用例执行顺序

  • 测试报告、简要性能结果图表化展示

  • 定时任务执行结果图表化展示,持续监控

  • 首页展示系统全局概要信息

  • Docker 一键部署,启动自动同步更新

组件

1.首页

2.项目管理

3.定时任务列表

4.新建任务

5.新建用例&&调试

即时任务报告

定时任务报告

安装

1.前提:

  • 一个已经在跑的 MySQL 数据库

  • 有个 IAT 库已经导入项目 SQL

有特殊网络要求的,可以 DownLoad 代码编译部署。如果服务器能连上外网,可以直接通过我已经封装的Docker 镜像安装。

2.方法一:Docker镜像安装

  • 我的镜像中开启了 ssh 服务,你可以通过挂载宿主机的一个端口来登录容器,默认账号为:root,密码为:root

  • 前端我挂载的是 8089,看个人需要设置

  • 命令行末尾参数,需要指定已经配置好的 MySQL

  • 因容器时区默认为 UTC 时间,我通过挂载宿主机的时间设置来保持同步,不同的服务器挂载文件不同,见下方。

Mac 环境安装

注意:不同版本的机器这个地址可能不一样。自己 cd 进去确认下: /private/var/db/timezone/tz/2018i.1.0/zoneinfo/Asia/Shanghai

 
           
  1. # docker run --env PATH=/root/apache-jmeter-5.0/bin:$PATH  -v /private/var/db/timezone/tz/2018i.1.0/zoneinfo/Asia/Shanghai:/etc/localtime:ro -t -i -d -p 8089:80 -p 9022:22 --name=iat ownerworld/iat:0.0.4  /bin/start.sh "root:root@127.0.0.1:3306"

Linux 环境安装

 
           
  1. # docker run --env PATH=/root/apache-jmeter-5.0/bin:$PATH  -v /etc/localtime:/etc/localtime:ro -t -i -d -p 8089:80 -p 9022:22 --name=iat ownerworld/iat:0.0.4 /bin/start.sh "root:root@127.0.0.1:3306"

Windows 环境安装

需要把 -v 的部分去掉,但时区可能会不一致,待调试;

3.方法二:编译安装

这种需要你有一定的运维基础和开发经验。默认你已有 Node 和 Python 环境。

下载代码

 
           
  1. $ git clone https://github.com/t880216t/IAT.git

安装前端依赖

 
           
  1. $ cnpm i

打包前端

 
           
  1. $ npm run build

生成的 dist 文件夹便是前端部署文件。

后端

服务端代码在 server 文件夹中,用的 python flask 框架不需要打包,建议用 gunicorn 启动。(确保你已经在 server 文件夹中)

 
           
  1. $ pip install -r requirements.txt

  2. $ gunicorn -w4 -b 0.0.0.0:5000 run:app

废话

本项目为开源项目,欢迎 Star,你可以基于自己的需求进行二次开发。

当然有好的建议或迫切的需要,也欢迎提 issues,南京地区非工作时间我也可以提供场外交流🙃 ,新年快乐。

-END-

编辑/LMD

 · · · 大家都在看 · · 


MTSC2019 大会启动,议题征集中





MTSC 中国移动互联网测试开发大会(Mobile Testing Summit China)是由国内最大的测试开发技术社区 TesterHome 主办的年度技术盛会。

自 2015 年创办以来,MTSC 已成功举办 4 届,并塑造了“落地、务实、有深度”的内容风格,近万名有从业经验的测试开发工程师、测试经理和质量管理人员参加了 MTSC 大会,好评如潮。

目前,MTSC2019 第五届中国移动互联网测试开发大会已经正式启动,大会将于 2019 年 6 月 28~29 日在北京国际会议中心举行。现在各个专题公开征集演讲议题和嘉宾,期待各位资深测试技术专家和质量管理经理提交议题,贡献精彩分享。

详情请点击左下角
阅读原文,或者登录大会官网https://testerhome.com/mtsc/2019

点一下好看,工资就翻一番👇


 
TesterHome 更多文章 MTSC2018 测试开发大会视频公开第二波(含 PPT)| 年度福利 TesterHome 社区 2018 年度精华帖汇总 | 典藏福利 MTSC2019 测试开发大会启动,三大热点方向征集议题 测试人员的 “救命稻草” 如何度量测试开发的价值产出?
猜您喜欢 玩黑客,注意这些大小写啊! oVirt虚拟机不能启动一例 技术支持服务群 黑客“三国传”:2016上半年“挖洞大赛”完全盘点 金融壹账通测试技术周报(第三十五期)