自动化测试的开源工具推荐
在如今开源的时代,我们就不要再闭门造车了,热烈的拥抱开源吧!本文针对性能测试、Web UI 测试、APP测试、数据库测试、接口测试、单元测试等方面,为大家整理了github或码云上优秀的自动化测试开源项目,希望能给大家带来一点帮助。
一、性能自动化测试
1、项目名称:基于Jmeter实现的在线压测平台和在线管理Jmeter脚本系统
项目简介:
本项目基于renren-fast Java开发平台开发,内核基于Jmeter-Api和Jmeter脚本实现在线性能压测。
具有如下特点:
- 友好的代码结构及注释,便于阅读及二次开发
- 实现前后端分离,通过token进行数据交互,前端再也不用关注后端技术
- 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求
- 页面交互使用Vue2.x,极大的提高了开发效率
- 完善的代码生成机制,可在线生成entity、xml、dao、service、html、js、sql代码,减少70%以上的开发任务
- 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
- 引入API模板,根据token作为登录令牌,极大的方便了APP接口开发
- 引入Hibernate Validator校验框架,轻松实现后端校验
- 引入云存储服务,已支持:七牛云、阿里云、腾讯云等
- 引入swagger文档支持,方便编写API接口文档
- 引入路由机制,刷新页面会停留在当前页
- 引入最新版本Jmeter-Api,支持分布式压测,测试报告生成及在线查看下载。
- 引入Echarts,支持在线观测性能压测结果。
项目地址:
https://gitee.com/smooth00/stressTestSystem
2、项目名称:分布式压力测试工具 Beetle.DT
项目简介:
基于 .NET 实现的分布式压力测试工具,用户可以根据需求编写相关的测试用例;通过工具的管理界面即可以把测试用例推送到服务中心,再根据实际压测的需求把测试用例分配到不同节点上运行。工具会根据测试的情况实时获取测试结果,测试完成后用户还可以查询具体的测试报告。节点采用进程隔离的方式运行测试用例,所以测试用例的运行都是相互独立。
项目地址:
https://gitee.com/ikende/Beetle.DT
3、项目名称:基于 Go 的压力测试工具 armyant
项目简介:armyant 是从 http 压力测试工具 hey 改装而成。不过,hey 只支持 http 接口的压力测试,而 armant 可以自定义压测协议。目前默认实现了 http,mqtt 两种协议的压力测试。
项目地址:
https://gitee.com/plug/armyant
二、Web UI 自动化测试
1、项目名称:自动化测试平台 LuckyFrame
项目简介:
本项目是一款免费开源的测试平台,最大的特点是全纬度覆盖了接口自动化、WEB UI自动化、APP自动化,并且支持分布式测试,测试关键字驱动也很大程度上解决了测试同学代码基础弱的问题。同时也集成了质量管理相关的一些功能,解决 QA 的日常工作中,项目过程数据的收集问题,并能展示一些简单质量报表。
项目地址:
https://gitee.com/seagull1985/LuckyFrameWeb
2、项目名称:AutoLine开源平台
项目简介:AutoLine开源平台是一个开源自动化测试解决方案,基于RobotFramework进行二次开发,支持RobotFramework几乎所有的库。
项目地址:
https://gitee.com/lym51/AutoLine
三、APP 自动化测试
项目名称:Opendx 基于Appium的开源自动化测试平台
项目简介:
Opendx 是一个开源的自动化测试平台,底层采用appium,目前已支持Android和iOS的自动化测试。平台没有对appium做任何入侵及修改,我们可以随意升级appium版本,使用其新特性。
项目地址:
https://github.com/opendx
四、接口自动化测试
1、项目名称:Restful Api 集成测试工具 Hitchhiker
项目简介:Hitchhiker 是一款开源的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起管理 Api。
项目地址:
https://gitee.com/iwxiaot/Hitchhiker
2、项目名称:自动化测试平台 phoenixframework
项目简介:
phoenixframework 是一个自动化测试平台,集代码托管, 分机(node节点)管理,定时任务,分布式或并发等方式执行通过 phoenix_develop 模块调试好的用例。平台使用 SSH4 开发,覆盖了 webgui,接口,移动mobile 等终端的测试与监控。目前 webGUI 模块已经完成,兼容 chrome,Firefox,IE,httpunit 以及 phantomjs 驱动。
项目地址:
https://gitee.com/phoenixframework/phoenixframework
3、项目名称:TCP/UDP 测试工具 SocketDebugger
项目简介:
SocketDebugger 是一款 TCP/UDP 测试工具,并且包括串口转发功能,以及自动回复功能。
项目地址:
https://gitee.com/hkiaipc/Socket-Debugger
4、项目名称:HTTP 接口测试插件 ApiDebug
项目简介:
ApiDebug 是一个浏览器HTTP接口测试插件,可以用来测试 HTTP、HTTPS接口。支持POST、GET 等方式,同时也支持 json、xml 等自定义接口参数。系统支持保存历史记录,也可同步测试接口至 CrapApi 接口管理系统(登陆 http://api.crap.cn ,点击同步即可保存)。除接口测试外,系统还包含 json 格式化等小工具。
项目地址:
https://gitee.com/CrapApi/ApiDebug
5、项目名称:基于 Java 的 Http 接口测试工具
项目简介:
JApiTest 是使用 java 开发的 Http 接口测试工具,以可视化形式通过配置 http 参数访问测试接口,并可对返回结果还有判断。
项目地址:
https://gitee.com/penngo/JApiTest
6、项目名称:基于 Python3.6的Django 2.0.2框架的接口测试工具
项目简介:
系统采用Django REST framework编写接口,前端页面采用比较容易上手的vue+elementUI。
项目地址:
https://github.com/githublitao/api_automation_test
7、项目名称:FXTest测试平台
项目简介:flask + Python3.6 实现的API自动化测试平台。
项目地址:
https://github.com/liwanlei/FXTest
8、项目名称:基于开源的httprunner接口自动化框架平台
前端:js+vue+element-ui
github地址:
https://github.com/pencil1/ApiTestWeb
后端:python+flask+httprunner
github地址:
https://github.com/pencil1/ApiTestManage
五、数据库自动化测试
项目名称:数据库单元测试框架 xlsunit
面向数据库应用的单元测试框架,使用excel,作为输入,以及输出比较,适合大量数据库操作。
如下情况可以使用 xlsunit:
- 必须使用 Spring 或者 Spring Boot,因为会利用 Spring 单元测试事务回滚机制。
- 面向数据库应用,特别是一个业务操作,有多个表的变化。
- xlsunit 支持 Spring 4 以上,SpringBoot1.5 以上,支持 Oracle,MySql,Postgres 等数据库。
项目地址:
https://gitee.com/xiandafu/xlsunit
六、数据调优测试
影响系统性能和效率,数据库起到一个非常关键的作用,而SQL的优化又是成本最低的一种优化方式,所以我把这一项也列为测试人员需要关注的方面。
项目名称:soar-web
基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具,支持 soar 配置的添加、修改、复制,多配置切换,配置的导出、导入与导入功能。目前只支持mysql。
项目地址:
https://github.com/xiyangxixian/soar-web
这是一款智能 SQL 优化和改写工具,开发人员可以直接通过此工具快速的对自己的 SQL 进行质量检查,生成评估报告,防止将问题 SQL 带到线上从而导致服务质量下降。它不仅能够尽可能地提高线上代码质量,还能避免一些由于人为疏漏而带来的隐患。
SOAR 由语法解析器、集成环境、优化建议、重写逻辑、工具集五大模块组成。它拥有独立的不依赖数据库的 SQL 解析能力,能够通过提供的集成环境对 SQL 本身及数据库环境进行评审,找出可能存在的隐患或问题。
原文链接:https://blog.csdn.net/smooth00/article/details/84317512