一个自动化测试框架 vearne/autotest

注意: 本文基于 vearne/autotest v0.0.9 1. 引言 萌叔手上的API服务不少,核心的项目都有CI和单元测试。 但是毕竟在单元测试中,对外部数据库、微服务的调用都是mock的,缺乏对整个链路的自动化测试 这段时间开发了一个自动化测试框架 vearne/autotest 初步实现了对HTTP协议API服务的支持,后期应该还会支持gRPC协议的API服务 2. 框架的优势 无需进行程序开发,只需要编写配置文件 可以指定testcase之间的依赖关系 无依赖关系的testcase可以并发执行,执行速度更快 使用xpath提取变量,书写方便 支持从文件中导入变量,支持从response中提取变量 3. 完整的示例 3.1 启动API服务 使用docker compose启动一个HTTP RESTful API服务 cd docker-compose docker compose up -d 这个服务是book管理服务,它支持对book的增删改查 添加 curl -X POST 'http://localhost:8080/api/books' \ --header 'Content-Type: application/json' \ --data '{"title": "book3_title", "author": "book3_author"}' 接口返回 { "id": 3, "title": "book3_title", "author": "book3_author" } 修改 curl -X PUT 'localhost:8080/api/books/3' \ --header 'Content-Type: application/json' \ --data '{"title": "book3_title", "author": "book3_author-2"}' 接口返回 { "id": 3, "title": "book3_title", "author": "book3_author-2" } 3.2 自动化测试 autotest run -c=./config_files/autotest.yml -e=./config_files/.env.dev 自动化测试中的每一个测试用例都是 ...

May 8, 2024 · 2 min