前言

为什么起这个名字呢?作者发现目前好像大部分自动化项目都喜欢起英文名,但作者是个喜欢传统文化的人,所以要整个中文名。流马,顾名思义,取自诸葛孔明的木牛流马,自动化测试的究极目标就是降本增效,取此名倒也贴切。

流马项目主要为了帮助中小企业快速搭建自动化测试体系,用一套平台解决 API/WEB/APP 测试 (目前已发布版本还没有 APP 还在疯狂打码中)。低代码设计主要是为了帮助那些了解自动化测试,但是代码能力又不足的同学。当然如果代码能力很好,也可以使用平台做一些底层工作,比如说平台支持自定义函数和自定义操作控件,如何把自动化一些公共部分提取出来并封装成组件,也很考验测开的能力。

这个项目最早作者曾在上家公司做过类似的,当前版本属于重新设计开发后的优化版。之前的版本曾服务于千人研发团队,近两百测试同学。曾经一个多月写了近万条自动化测试用例,在主流程测试以及部署验证测试等方面发挥了重要作用。另外不少用户属于外包同学,在使用平台前没做过自动化测试,简单培训即可上手。

本平台没有用到什么高深的技术,毕竟自动化测试越简单越好,平台化的目的主要还是为了便于管理和集成。简而言之,就是花最小的代价实现最有价值的事情。

平台架构

平台分为两大块,管理平台和测试引擎。之所以将测试引擎独立出来,出于以下三点考虑:

一是执行资源问题,如果测试管理和执行不分家,用户量上来后不可避免的执行等待和拥堵。
二是破除网络限制,比如说待测服务有多套环境,每套网络不同,又不方便开代理,自动化测试无法执行。这种情况在做 SaaS 交付的公司很常见。
三是方便执行调试,测试引擎本地启动,和传统框架一样,可以打断点,可以实时看日志,可以 print,方便那些习惯 debug 的同学使用。

管理平台又分为前后端代码,前端 vue+elementUI,后端 java+springboot,都是常用技术。本项目除了 mysql,没再使用任何中间件,学习和部署成本都比较低。

搭建开发环境

环境依赖:nodejs14、java1.8、mysql8.0、python3.6

前端代码:

第一步:前端代码根目录执行:npm install 安装依赖
第二步:启动前端服务:npm run dev
启动成功后浏览器默认打开登录页,则启动成功。

后端代码

java 代码建议使用 IDEA,先进行 maven 进行安装依赖,随后进行配置
第一步: 新建数据库名: liuma,配置 application.properties 数据库连接
第二步: 配置阿里云邮件和七牛云存储相关信息 (可以先跳过 不影响启动 但无法发送邮件和保存截图 具体配置参考部署文档)
第三步: 启动 LiuMaApplication 文件
首次启动会初始化数据表和基础数据,启动成功后,可以使用 demo/123456 预置账号验证是否可以登录。

引擎代码

第一步:引擎代码根目录执行:pip3 install -r requirements.txt
第二步:将平台引擎管理处的测试引擎 code/secret 填写在 config.ini 文件对应处
第三步:将后端服务地址 url 填写在 config.ini 文件对应处
第四步:启动引擎 python3 startup.py
第五步:平台引擎管理查看自己的引擎 显示在线 证明启动成功

关于部署

平台设计一切从简,部署配置要求不高,一台 2C4G 即可。数据库、前后端服务都在一台机器上搞定绰绰有余。
具体部署文档参考:部署文档

关于维护

作者会定期维护更新功能和 BUG,目前还只是基础版,还有很多功能仍在打码中。也欢迎大家在 GitHub 上给作者提意见,也欢迎有兴趣的同学加入维护。

项目地址

项目源码:GitHub 地址
官网地址:流马官网
演示平台:demo 地址
使用手册:使用手册

公众号

关注微信公众号【流马测试】,作者定期更新相关文章。也可通过公众号添加作者微信或者加入技术群里一起讨论。


↙↙↙阅读原文可查看相关链接,并与作者交流