
大家点星⭐️支持下哦。
前端地址: https://github.com/asura-pro/indigo
后端地址: https://github.com/asura-pro/asura
Indigo 是一个测试接口的系统. 可以对 Http(s), Dubbo, MySql 的请求响应进行断言. 一般用于企业内部接口的自动化测试, CI/CD Pipeline 节点, 线上巡检监控.
完整文档:https://docs.asura.pro
使用 Typescript, Angular, Ant Design 技术实现.
Indigo的定位并非是一个框架而是一个开箱即用的测试系统, 对此设计了一套还算好用的 UI. 有 UI 的好处是, 相对与写脚本, 使用成本及其低, 且比使用脚本效率高 N 倍 (大部分情况下, 尤其是当用例的数量非常大时). 但和其他基于脚本的接口测试框架相比, 必然缺少了一定的灵活性. 事实上大部分接口测试场景都很简单, 就是响应进行断言并没有很复杂的逻辑 (那是业务系统的工作).Indigo内置 Javascript 脚本引擎, 结合场景 其实灵活性也很高的.
Indigo的后端 使用Akka框架作为底层基础实现.Akka是JVM上一个Actor 编程模型的实现, 很适合用来构建高并发, 分布式和弹性消息驱动的应用.Indigo中使用了大量的Actor来对场景和任务进行抽象, 保证大量场景和任务同时执行过程中的状态隔离.Indigo中的数据, 包括基本的用例数据, 执行记录, 报告数据都存储在Elastic Search中.
Indigo中断言被抽象为一个 JSON 结构体 (JSON 格式的 DSL). 断言参考{ "$.entity.data" : { "$and" : [ { "$.code" : { "$eq" : "10000" } }, { "$.list" : { "$and" : [ { "$type" : "array" }, { "$size" : 10 } ] } } ] } }
场景可以由一组顺序执行的不同类型的请求用例组成. 其中每一个步骤都可以导出变量供之后的请求使用. 可以把多个请求或场景组装成一个任务.任务可以通过接口, Cron 定时或其他自定义事件源触发, 一般用于巡检监控和持续集成.
使用场景
使用任务
任务统计数据, 趋势图
每次请求的详细数据
有 demo 试用地址吗
接上面,修改了下压缩比(git config --add core.compression -1),下载的时候只下一层(git clone --depth 1),然后又试了好几次,终于成功了。一共 13M,有俩 GIF 图片就占了 5M,不过这也只能怪网络不给力。
前端 https://github.com/asura-pro/indigo 很奇怪,这两天下载了 5 次都不成功。后端的一次就成功了。
demo 链接不上了
更新了
地址呢?同问
没开源地址啊