网站公司后台,义乌网络,铜陵高端网站建设,wordpress能用一个数据库目录
前言#xff1a;
如何使用#xff1f;
本地模式
服务端模式
文件格式
后续计划 前言#xff1a;
API Testing 是一个基于 YAML 文件的开源接口测试工具#xff0c;它可以帮助开发者快速地进行接口测试。
在选择工具时#xff0c;可以从很多方面进行考量、对比…目录
前言
如何使用
本地模式
服务端模式
文件格式
后续计划 前言
API Testing 是一个基于 YAML 文件的开源接口测试工具它可以帮助开发者快速地进行接口测试。
在选择工具时可以从很多方面进行考量、对比以下几点是该工具的特色或者优点
开源与否atest 采用 MIT 开源协议是最流行的宽松开源协议之一。有些工具也许有非常丰富的功能、漂亮的界面但相比于开源项目免费的工具不定什么时候就有可能变为收费的而且你的使用感受几乎很难直接反馈到产品中只能被动接受。质量、可靠性作为一款用于测试场景的工具atest 本身的单元测试覆盖率达 89%单测代码与业务逻辑代码量平分秋色另外每次代码改动都需要通过代码扫描、单元测试等流水线。身材小巧整个工具大小为 18M支持 Windows、Linux、macOS 平台。只有简单的可执行二进制文件不像部分工具会给你的操作系统安装莫名其妙的系统启动项目、系统服务等。基于 YAML 文件提交到 Git 仓库后天生支持团队协作无需注册额外账号。同时提供简单、高级两种模式的返回值断言还包括 JSON Schema 以及针对 Kubernetes 资源的校验判断。支持性能测试。直接在 VS Code 中直接触发执行单个或整个测试文件。
如何使用
那么这个工具长什么样子呢下面是命令行 atest 的参数说明
API testing toolUsage:atest [command]Available Commands:completion Generate the autocompletion script for the specified shellhelp Help about any commandjson Print the JSON schema of the test suites structrun Run the test suitesample Generate a sample test case YAML fileserver Run as a server modeservice Install atest as a Linux serviceFlags:-h, --help help for atestUse atest [command] --help for more information about a command.本地模式
执行一个测试用例集文件atest run -p sample/testsuite-gitlab.yaml其中的参数 -p 支持模糊匹配多个文件。
如果希望对测试用例集执行性能测试的话可以增加响应的参数
atest run -p sample/testsuite-gitlab.yaml --duration 1m --thread 3 --report m
其中的参数 --report 可以指定性能测试输出报告目前支持 Markdown 以及控制台输出。效果如下所示
APIAverageMaxMinCountErrorGET https://gitlab.com/api/v4/projects1.152777167s2.108680194s814.928496ms990GET https://gitlab.com/api/v4/projects/45088772840.761064ms1.487285371s492.583066ms100
consume: 1m2.153686448s
服务端模式
除了本地执行外atest 还提供了基于 gRPC 协议服务端通过下面的命令即可启动
atest server对于 Linux 操作系统用户还可以通过下面的命令安装后台服务
atest service (install | start | stop | restart)当然如果你对容器、Kubernetes 比较熟悉的话本项目也提供了对应的支持。
这种模式对于想要集成的用户而言可以通过调用 gRPC 来执行测试。也可以安装 VS Code 插件在编码与接口测试之间无缝切换您可以搜索 api-testing 找到该插件。
插件会识别所有第一行是 #!api-testing 的 YAML 文件并提供快速的执行操作请参考如下截图 如图所示会有四个快捷执行操作
run suite 会执行整个文件run suite with env 会加载 env.yaml 文件并执行整个文件run 执行单个测试用例包括所依赖的用例debug 执行单个测试用例并输出接口返回值
当你安装了 VS Code 插件后会自动下载并安装 atest 及其服务。当然你也可以配置不同的远端服务地址。
文件格式
atest 定义的 YAML 格式基本遵循 HTTP 的语义熟悉 HTTP 协议的同学即可快速上手。下面是一个范例
#!api-testing
name: Kubernetes
api: https://192.168.123.121:6443
items:
- name: podsrequest:api: /api/v1/namespaces/kube-system/podsheader:Authorization: Bearer tokenexpect:verify:- pod(kube-system, kube-ovn-cni-55bz9).Exist()- k8s(deployments, kube-system, coredns).Exist()- k8s(deployments, kube-system, coredns).ExpectField(2, spec, replicas)- k8s({kind:virtualmachines,group:kubevirt.io}, vm-test, vm-win10-dkkhl).Exist()用户可以自定义请求的 Header、Payload 等可以对响应体做全面的断言判断。
后续计划
如果您已经耐心阅读到这里的话可以再顺便了解下这个项目后续的一些想法。
通过更多的实际场景来打磨、优化 atest 对接口测试的便利性、可扩展性以不丢失易用性为前提增强功能。例如
优化错误提示、反馈提供与 CICD 集成的最佳实践增加 gRPC 等协议的支持增加测试记录信息的持久化VS Code 插件支持测试用例编写的提示、格式校验提供插件机制增加对数据库等数据源的格式校验 作为一位过来人也是希望大家少走一些弯路
在这里我给大家分享一些自动化测试前进之路的必须品希望能对你带来帮助。
软件测试相关资料自动化测试相关资料技术问题答疑等等
相信能使你更好的进步
点击下方小卡片