Looking for a new client for testing APIs? Presenting: Bruno! by Ashutosh Mishra

Looking for a new client for testing APIs? Presenting: Bruno! by Ashutosh Mishra

Uncover how Bruno simplifies API testing with offline use, ease of migration, and enhanced security features.

Want to try something new??

Hello testers and other software enthusiasts! Have you heard about the new API client, Bruno? It might be just what you're looking for. Its user base is growing exponentially and it boasts an ever-increasing number of stars on GitHub.?

Briefly stated: Bruno is an open-source API client with an MIT License.?It can be used with REST and GraphQL APIs.?And it's getting more and more attention from development teams and the tech press;?Thoughtworks Technology Radar ?featured Bruno in April 2024 after several of their teams started using it.

I have come to believe that the tools for developing for and testing APIs have become far more complex than their initial creators may have intended. Years ago, when these tools appeared on the market and in open source software collections, they were simple API clients. Now they are end-to-end platforms for API creation, maintenance, and documentation. It can be helpful to combine several types of features in a single tool, but many people in the tools' user bases are put off by the moves to the cloud and requiring the user to log in to do anything. And so it was that Bruno's founders introduced their new idea to the market. Bruno is being adopted by developers and testers alike, and a user base of over 100,000 and counting is testimony to the value it adds to their work.

Why Bruno?

Why bother creating yet another API client? Aren't there enough out there already? Let's see what Bruno has to offer that's new and different.

Staying out of the cloud and keeping your organisation's data safe

Over the past few years, most of the well-known API clients have become increasingly intrusive, raising security concerns at many organisations. Not only do they ask you to log in to use them, but they are also exclusively cloud-based, making you question the security and ownership of your data. Organizations want to be in control of their own data, not only to protect their interests but also for compliance and security.?

In contrast, Bruno works offline and eliminates the need to log in to work on it. It's pleasant to work with because it's lightweight and responsive. And you don't have to worry about sensitive test data being uploaded to the cloud.?

A streamlined, enjoyable developer experience

While data security concerns the business stakeholders the most, what about developers and testers? The traditional tools are known for their lack of user-friendliness. The creators of Bruno have actively sought to present a different experience.?

An easy-to-use domain-specific language (DSL)

When you try using Bruno, the user experience looks familiar, but don’t assume that it works like other API clients. First of all, Bruno uses its own DSL language. The creator believed it was necessary to avoid the best-known formats, JSON, YAML and TOML, in favor of version-control friendly ways of writing your API requests in collections. So they introduced Bru, a language that is easy to read and enables easy tracking of changes in the API requests when collaborating within teams. Your pull request flows will likely become cleaner and clearer with Bru.?

The founder envisions Bruno API collections to be part of the API development cycle, living in the same repository as the back-end code of an application. However, you can add the collections to a test code repository instead if you want.?

Each API request in Bruno is a?.bru file. Each of these files has three blocks: Dictionary, Text and Array. Apart from these, Bru uses tags with literal names like?get,?put, post, delete,?body, and so on.

Cross-platform compatibility

Bruno is available for Mac, Windows, and Linux.?

And for test assertions, one of the most popular libraries,?Chai , is used.

Fun fact:?Bruno’s creator started working full-time on it only very recently (January 2024). Until then it was?just a side project!

Out for a walk with Bruno

There are quite a few features that I appreciate about this tool, but I would urge you to try these three as a start:

Work offline and choose your user interface??

Once you download and start working with Bruno, there is no need to log in, and you can work completely offline.?

Different users have their own style of working and ways of interacting with APIs. To facilitate this, you can run Bruno in a few different ways, including :

  • Desktop app?
  • Command line?
  • As a Visual Studio extension

Check out the folder structure and configuration file handling

Bruno's API collections live as files in folders on your filesystem. Each request in the collection is organized in the folders in the same way as the collection structure visible in the Bruno front-end app.?

Each collection has a set of one or more environments, and sharing collections is easy. The user interface makes it easy to visualize the collections, which is quite a few steps up from dealing with a single huge JSON file for each collection. And that makes Bruno collections GitHub-friendly. Even the proxy settings are at the collection level. To sum up, if you share a collection with someone, they can use it right away on their own system, without wasting time on setup.

Added bonus: It's a snap to hide API keys, secrets, and passwords with Bruno.?

Try a hassle-free import from other major API clients

If you don't like working with your current API client, there's a migration feature built into Bruno so you can get started quickly.

Something for the future…

It's refreshing to be able to make a change to a collection file in an IDE and see it right away in Bruno's front end, and vice versa.?

However, the tool is still very new and lacks a few features that would be helpful, such as support for both HTTP and HTTPS proxy at the same time. But as the user base grows, it's likely that these features will be added.

Who should try Bruno?

For me, this tool is easy to use. And I believe that it can be used by a broad range of software enthusiasts:?

  • University students entering the software world can play with and explore APIs with Bruno.?
  • Working development professionals who have to work on APIs daily can make Bruno a part of their back-end code.?
  • Junior testers can use it to get better at API testing and test scripting.
  • Seasoned testers can indulge in creating elaborate test frameworks.?

What's next?

As a need for fresh air in this space, Bruno has come at just the right time. It is almost as if the present tools created the need for Bruno. The ideas and vision reflected in Bruno make it appealing to developers and testers alike.

Go ahead,?give it a try ?and let me know in the comments below how you feel about it. If you have questions, the Bruno community is friendly and helpful! And if you're convinced that Bruno is for you, you can support the open source project by buying the?Golden edition .?

For more information

"As Head of Testing, I am responsible for the professional development of my people and have MoT Team Membership to support this. I want to have a good atmosphere and up-to-date information for the exchange. The TestBash conferences and the software testing content are excellent sources for this. Great speakers and the latest content and news from the testing community!" - Sven Schirmer

Support your testing and quality team with Ministry of Testing Professional Membership

"MOT4Life" - Guna Petrova

Discover what's happening in the testing community every week by subscribing to the Ministry of Testing newsletter

Thanks for the write-up Ashutosh Mishra, and for the feature Ministry of Testing! Very kind words and we love hearing feedback about Bruno's usefulness. Our mission is being the best API-client for developers and testers, and moving the storage of collections to git versus proprietary cloud systems. Appreciate you sharing our work!

要查看或添加评论,请登录

社区洞察

其他会员也浏览了