首页 > Python资料 博客日记
强!20K star!一款可替代 Postman 的API 测试工具,开源免费、完全离线、基于 Git 版本控制!
2024-10-14 12:00:12Python资料围观32次
逼自己7天刷完这些面试题,轻松能上岸!(99%会被问到)
1、引言
在软件开发和测试领域,API测试是确保软件接口稳定、可靠的重要一环。随着API的复杂性和数量的不断增加,对API测试工具的需求也日益增长。Postman
作为一款广受欢迎的API测试工具,凭借其直观的用户界面和丰富的功能,赢得了大量开发者和测试人员的青睐。然而,随着技术的不断发展,市场上也涌现出了一些新兴的API测试工具,其中Bruno便是一款备受瞩目的新星。
今天就来给大家介绍一款新的测试工具: Bruno
2、Bruno介绍
Bruno
是一款开源且完全可离线的 API 测试工具,它不仅具备Postman的核心功能,如发送HTTP请求、查看响应、保存测试用例等,它还允许开发者在没有网络连接的情况下进行 API 请求和测试。与 Postman 相比,Bruno
提供了类似的接口测试功能,同时还引入集成 Git 版本控制,使得团队协作和历史记录的管理变得更加灵活、可控。
项目地址:
#Github地址
https://github.com/usebruno/bruno
#项目官网
https://www.usebruno.com/
接下来,本文将详细介绍Bruno的特点、与Postman的优缺点对比、安装以及使用方法。
3、Bruno特点
Bruno主要特点如下:
-
完全离线:Bruno不依赖于任何云服务或在线存储,所有数据均保存在本地,保证了用户数据的安全性和隐私性。
-
基于Git版本控制:Bruno集成了Git版本控制功能,用户可以轻松地对API测试用例进行版本管理、协同开发和历史记录查看。
-
丰富的测试功能:Bruno支持发送各种HTTP请求(GET、POST、PUT、DELETE等),支持多种请求头和请求体格式(JSON、XML、表单等),同时提供了断言、变量替换、环境配置等高级功能。
-
直观的用户界面:Bruno采用简洁直观的界面设计,使得用户可以轻松上手并快速完成API测试任务。
-
跨平台支持:Bruno支持Windows、Mac和Linux等多种操作系统,方便用户在不同平台上进行API测试。
4、Bruno与Postman优缺点对比
优点:
(1)完全离线支持:Bruno的离线特性使得它在一些网络受限或安全性要求较高的环境中具有明显优势。
(2)基于Git版本控制:Bruno的Git版本控制功能使得API测试过程更加可控和可追溯,方便团队协作和项目管理。
(3)安全性:由于所有数据均保存在本地,Bruno在数据安全性方面具有更高保障。
(4)可定制、自定义程度高:Bruno允许用户通过编写自定义脚本和插件来扩展其功能,满足更复杂的测试需求。
(5)轻量级:相比Postman,Bruno更加轻量级,启动速度更快,占用更少的系统资源。
缺点:
(1)知名度相对较低,有一定学习曲线:作为一款新兴工具,Bruno的知名度相对较低,可能需要一定的学习和适应成本。
(2)社区支持有限:与 Postman 相比,Bruno 的社区较小,相关的教程和资源可能不如 Postman 丰富。
(3)较少插件支持:Postman 拥有一个庞大的插件生态系统,而 Bruno 在这方面还在发展中,可能无法提供同样广泛的扩展功能。
5、Bruno下载与安装
Bruno支持跨平台,可在Windows、Linux、Mac等不同操作系统下运行
1、直接下载安装
访问https://www.usebruno.com/downloads
选择对应平台进行下载,如下所示:
也可以从github releases中下载
https://github.com/usebruno/bruno/releases
2、通过包管理工具,命令行安装
# On Mac via Homebrew
brew install bruno
# On Windows via Chocolatey
choco install bruno
# On Windows via Scoop
scoop bucket add extras
scoop install bruno
# On Windows via winget
winget install Bruno.Bruno
# On Linux via Snap
snap install bruno
# On Linux via Flatpak
flatpak install com.usebruno.Bruno
# On Linux via Apt
sudo mkdir -p /etc/apt/keyrings
sudo gpg --no-default-keyring --keyring /etc/apt/keyrings/bruno.gpg --keyserver keyserver.ubuntu.com --recv-keys 9FA6017ECABE0266
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/bruno.gpg] http://debian.usebruno.com/ bruno stable" | sudo tee /etc/apt/sources.list.d/bruno.list
sudo apt update
sudo apt install bruno
6、Bruno功能界面与使用
1、主界面显示
当然,若你是首次打开,你的界面还没有这么好看,安装完毕后,首次打开默认界面显示如下:
你可以在此基础上,新建测试集COLLECTION
,在测试集下创建测试请求开始你的表演工作,由于这两步太过于简单,就不演示了!
2、官方示例demo
如果你比较懒,但又想尝鲜,可以直接使用官方提供好的demo示例来运行试用bruno
,具体操作如下:
# Clone this repo
git clone https://github.com/usebruno/github-rest-api-collection.git
# open the folder in bruno
# enjoy !!
打开或导入官方测试集后,显示如下:
保存在本地的测试文件后缀为.bru,内容格式类似如下:
post {
url: https://api.textlocal.in/login
}
body {
{
"username": "johnnash",
"password": "governingdynamics"
}
}
script:post-response {
bru.setVar("token", res.body.token);
}
tests {
test("should be able to login", function() {
expect(res.status).to.equal(201);
});
test("should receive the token", function() {
expect(res.body.token).to.be.a('string');
});
}
3、API 请求自动转换成代码
bruno支持将测试请求直接转换成对应语言或框架代码,当前支持Python
、PHP
、JavaScript
、Shell
等脚本,如下:
4、bruno提供脚本支持
bruno
提供脚本支持,帮助您为工具添加数据生成、验证以及与其他工具和系统集成等附加功能,包括发送中间请求、解析响应数据、更新环境变量等
5、Vars变量支持
bruno
可以利用Vars功能让你在请求之前和收到响应之后设置变量。
6、Assert断言支持
7、多种运行方式支持: 可视化界面、命令行、插件
bruno
除了支持可视化界面运行测试外,还支持命令行
、VSCode插件
等多种方式运行。
image
命令行运行方式可参考:https://docs.usebruno.com/bru-cli/overview
若需要用VSCode插件运行的话,直接在插件中心中搜索安装Bruno即可
8、基于Git可以实现版本管理
7、小结
Bruno 作为一款新兴的 API 测试工具,以其独特的离线功能和 Git 集成能力,为开发者提供了一个强有力的替代 Postman 的选择。虽然它在资源和插件方面可能还不如 Postman 丰富,但对于追求效率和便捷性的开发者来说,Bruno 无疑提供了一个值得尝试的解决方案。随着社区的发展和技术的进步,Bruno 有望成为 API 测试领域的一个重要参与者。
好了,今天就先介绍这么多吧,更多使用细节,可查阅官方文档:
https://docs.usebruno.com/
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj