【温馨提示】由于公众号更改了推送规则,不再按照时间顺序排列,如果不想错过测试开发技术精心准备的的干货文章,请将测试开发技术设为“星标☆”,看完文章在文尾处点亮“在看”!
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插件
等多种方式运行。
命令行运行方式可参考:https://docs.usebruno.com/bru-cli/overview
若需要用VSCode插件运行的话,直接在插件中心中搜索安装Bruno即可
8、基于Git可以实现版本管理
7、小结
Bruno 作为一款新兴的 API 测试工具,以其独特的离线功能和 Git 集成能力,为开发者提供了一个强有力的替代 Postman 的选择。虽然它在资源和插件方面可能还不如 Postman 丰富,但对于追求效率和便捷性的开发者来说,Bruno 无疑提供了一个值得尝试的解决方案。随着社区的发展和技术的进步,Bruno 有望成为 API 测试领域的一个重要参与者。
好了,今天就先介绍这么多吧,更多使用细节,可查阅官方文档:
https://docs.usebruno.com/
如果觉得有用,就请关注、点赞、在看、分享到朋友圈吧!
推荐阅读:
END
所有原创文章
第一时间发布至此公众号「测试开发技术」
长按二维码/微信扫码 添加作者