Codeless Testing with POSTMAN

Jency Stella
Lead QA Engineer
Automatic Summary

Demystifying Postman Flows: A New Tool in API Testing

Welcome to our blog where we strive to provide enlightening content on technology, particularly in the area of software testing. In today's article, we'll be discussing the topic "Effortless Testing with Postman Flows". We sat down with Jenie Stella, a prominent figure in the software testing space, who shared her illuminating insights about Postman Flows, a new feature designed to streamline API testing.

About Jenie Stella: The Foothold in Software Testing

Jenie Stella has led the QA department at Beinum IT services for over nine years. A certified mentor with a non-profit mentoring club, she regularly helps emerging testers, especially women, navigate the testing space. Notably, she also wears the hat of an occasional blogger. An advocate of continuous learning, she believes that testing products are an ongoing process of growth and advancement.

Introduction to Postman Flows

Jenie's presentation kick-started by addressing Postman Flows' evolution and explaining its core concepts. She illuminated how Postman has emerged as an integral tool for over 7 million developers worldwide, assisting in designing, debugging, testing, documenting, monitoring, and publishing APIs.

What is Postman Flows?

Jenie likens Postman Flows to Legos where the building blocks are your code base.
In its essence, Postman Flows is an API-centric visual application development interface. It provides an infinite canvas to arrange and connect APIs. This feature, significantly simplifying processes by introducing a low code approach, enables chaining processes through a simple drag and drop feature.

How Postman Flows Can Benefit API Testing

In the conventional approach, API testing involves preparing collections with different sets of requests and executing them on a collection runner. However, Postman Flows allow you to run multiple separate flows concurrently, making it advantageous in certain API testing scenarios.

Use Cases For Flow in API Testing

Jenie listed the following scenarios where Postman Flows would be beneficial in API testing:

  • If your API in one collection needs to communicate with another API in a different collection
  • When you want to avoid writing lines of code for complex logical phrases - Postman Flows uses a drag-and-drop feature
  • When you need to conduct a regression test - here, Postman Flows saves you from creating everything from scratch, and
  • When you need to monitor or do a quick health check-up of all the APIs you're working with.

A Peek Into Postman Flows

Jenie demonstrated how to use the Postman Flows feature using a real-life scenario. In the demo, she showed how Postman flows can connect APIs, handle complex logical queries, cover regression tests, and even monitor APIs, making it a robust tool in API testing. After the brief demo, Jenie reiterated the tool's usefulness for testers looking to make their API testing process more efficient and reliable.

Wrapping Up

In summary, Postman Flows offers an invaluable tool for API testers. Even though it might seem complex at first, its payoff in terms of streamlining API testing makes it worth diving into. If you're keen on exploring more about Postman Flows, feel free to connect with Jenie Stella on LinkedIn or Twitter for more insights.


Video Transcription

Hello and welcome to everyone. Heartiest. Welcome to everyone to the Women in Tech Global Conference 2023. Happy to see you all and I appreciate you being here to spend some quality time with us being a passionate software tester by profession.I strongly believe that testing a product is a learning process. But the best part of it is when you learn and communicate or educate what you learn to others, which enables you to gain the greatest comprehension. Keeping the thought in mind, allow me to introduce myself myself.

Jenie Stella, lead Q A engineer at Beinum. It services with overall nine plus years of experience in software testing space for the next 20 minutes. I'll be sharing some interesting content on the topic, Corless testing with postmen. Let me start my presentation for today by saying few words about my own background. I'm a mom of a four year old superhero. I hold ISTQ BC Tal Test Manager certification. In my spare time. I try to help budding testers and especially women in testing space in areas I can via a nonprofit organization mentoring club. I'm a certified mentor over there and a year back I have started contributing to communities especially in software testing space. Other than this, I love to write articles. That's where I wear a hat of an occasional blogger. So to share the outline for the talk, um I have divided my presentation into five different pointers. Starting by knowing the background of how postman low feature flows evolved gradually.

Then we will get to know about flows along with its core concept. Later, sir, I'll emphasize on my personal takeaways of flows use case uh from API testing perspective. Finally, we will end our session by having a visual feel of um a live flow that I have designed specially for our session today. So let's get started off with it. A PAP is one of the limelight topic in recent times. Everywhere you can hear this term, even though A PS have existed ever since the software existed in recent years. It has become a critical requirement for being able to scale and grow software. Product. Organizations are using APIS to offer new services externally and deliver efficiencies.

Internally, many companies started working on the goal to make A PS as a building block that will be available to everyone and anywhere also to make developers build faster and better software. But from the list of all these companies that strive to achieve this goal, one among them stood right was the postman. Postman as a tool is an API development environment used by more than 7 million developers today with Postman, you can design mock debug test document monitor and publish A PS all. At the same time, Postman is very convenient when it comes to executing A PS. Postman is preferred due to its handy and simplified feature. It has become the world's largest hub for public APIS making powerful A PS from Microsoft paypal stripe, meta intel and oracle available to over 2 25 million postman users spanning every continent across the globe.

Striving with the motto of unlocking the power of A PS for everyone. Postman team introduced flows a visual tool to build software for the API first world with postman flows. Anyone can connect apis of their web services to build workflows, integrations and API application in a visual and collaborative development environment before I move further with towards more details of postman flows. If you are new to postmen and want to learn how to get started off with it to make sure do make sure to check out their details from the official postman website. They have a clear information to get you started from the scratch. So let's get started off with the code content for the topic today. What is flows Postman team have been working on this exciting low code way of building API application flows for quite a long time. And now finally, it's publicly available. Flows to me is like LEGOS where you have a code base and different building blocks by which you design your masterpiece flows work by adding blocks in chain. Technically, if I have to say what is flows flows is an api centric visual application development interface. It provides you with an infinite canva to arrange and connect your A PS. So technically, this is what flows is all about if I have to um light give light to more content towards what flows is all about.

Like I said, flows is basically group of blocks in traditional way of working with request and postmen. If you want to start chaining multiple requests, you need to know a fair amount of knowledge of how to structure your request. Um You would need help of certain scripting language like javascript and you have to work with the code. But with flows, it's as it's basically a low code approach chaining process together is simple drag and drop feature. It's powered by the postman public API network and your collection.

So the only prerequisite and postman flow is that you need to have your collection ready and the request that you're planning to work on with. Along with this, you would also need the examples tied up with this um with the request that you're planning to uh perform the uh design the flow. So this is the only prerequisite when it comes to flows. That's the reason it's uh it can be termed as Corless or low code approach. Postman flow is a visual tool for creating API workflows. You can use flows to change requests, handle data and create real world workflows in your postman workspace flows are the ultimate way to easily take data from an API enabled product, manipulate it to meet your needs and see the results. Or you can take data from one API enabled product, make some decision or process the data, then send it to another API enabled product. By this, you can say that flows is nothing but it's an workflow builder that helps you to connect different APIS all in a single group like any feature. Postman two has a postman flu flows two has its own language which is known as FQL.

That is nothing but flows query language by which you can use to pass and transform the Jason data that you get from the request that you are working on and structure it as per your need. Yes, it's a widget based Canva that you can just drag and drop component and link them together. Finally, flows is currently available on your free and annual professional plans of your postman tool. So this is the brief or the overview of flows. Now let's understand certain core concepts that are tied up in flows. The core concepts to me is nothing but blocks. Like I said, flows are a group of blocks. So blocks forms the fundamental component to build your flow. It's nothing but a basic unit used to create your flow. Every block has a specific purpose such as performing actions, creating information or making a decision, you can pass information from one block to another. So by which every block will either have an input and output or at times it will have both. So this forms the building blocks of your legos that is the Canva that you have and these are the building blocks. So like like I said, there are many blocks tied up in flows. Let's understand the different types of blocks. There are multiple blocks available when you design a flow. But the postman team has broadly classified them in three different categories.

One is the action blocks which helps you to perform an action. If I have to name um certain uh blocks that come a fall under this category. For instance, you can take the S um send request block, this block. Basically what it does is it helps you to run a request in collection and outputs the result. Secondly, is the information block, it helps you to create value of specific type. So this block has certain uh type of uh you know, sub blocks that are tied up under this category if I have to name some of them, um we do have create variables. So if just in case in your flows, if you have to create a variable, um you can use this create variable block which will be assigned throughout your flow. So you can use it throughout the flow that you have been working on. Another example, if I have to give for information block is nothing but the select block which helps you to select a specific part of the information output from another block. So these are certain type of uh information blocks that are categorized under information uh blocks say um um more um category. Uh The last one is nothing but the decision blocks.

Decision blocks are nothing but um these blocks helps to change the data in some way and then determines how to proceed in the flow. So in short, if I have to say it determines the path the data should flow in um in, in your flows that you are designing. If I have to explain them, um we will, we as a people who are working with, you know, codes and so on, we would have been familiarized with certain uh logical conditions like if for loop, evaluate with multi uh arithmetic operation and comparisons and so on. So all these logical things are clubbed up under decision blocks. So we have certain blocks under this. For example, if I have to give there is an if block which will help you to categorize the true and false condition, if there is a certain condition scenario to be like processed in your flow. Uh Another block is about 44 block which helps you to, you know, create looping where you have to rate certain data. So in that area, you can use four block, evaluate block is nothing.

But this uh here comes the picture of FQL where if you have to perform certain arithmetic operation, if you have to compare certain data. So in that case, evaluate block can be used so broadly, we have three different categories under which we have different set of blocks that can be used in order to create your flows. So this was the core concept when it comes to flows. Now, moving ahead, me being an passionate API tester, I had a certain thought process of how flows can help me in my API testing space for this. Anyone to understand how flows can be incorporated in API testing. First, let's understand how traditionally API test and postman is done the f in first or the initial step that that every postman um uh sorry API tester will be doing is like you need to know the API that we are um uh going to test. So you have to know the API under test by going through certain, you know API documentations and so on, then we'll be building the test. So where you will prepare your collections with uh uh the different set of requests by writing certain assertions and so on. So once your test suit is all ready, we'll be then executing it in our collection runner. There are multiple options right now available in Postman. You can run your test suit in collection runner uh in New Men and postman cli and so on.

Although uh also uh towards the end, if I have to automate my entire process, then I can integrate it with my C I CD pipeline to make it a full fledged automated process. So somebody might think J say if you're saying that the traditional approach itself is giving me an fully automated approach, why do you need flows or what are the striking effects that made you to uh take help of flows in API testing? So I have come up with certain striking effects uh that uh um mm uh that uh that are there in uh flows. So mm uh So the striking effects is like you will be able to connect multiple collections in into one flow. For instance, if I have to um make my API A in collection A to talk to API B in collection B then with traditional approach, this is not possible. Your API is in different collections cannot communicate to each other but in flows, this is possible because flows will be working in your postman workspace entirely. So different A PS that are available in different comp collections can communicate with each other which makes it easy when it comes to API testing.

Another important factor or another striking effect is like for those who are like not interested in writing lines of code for your complex logical phrases. What you can do is you can use this flows because it's more towards drag and drop feature. And there are many ready meat slipp its available for you to in order to, you know, uh create your or uh perform your logical operations in a single go. Finally, unlike collection flows allows you to run multiple separate flows at the same time. In collection, you cannot do that, you cannot run multiple collections uh uh all at the same time. So uh and uh currently in current postman plan as well, we do have certain restrictions when it comes to collection runner. But in flows, you can run multiple separate flows all at the same time. So these are the striking effects that made me to, you know, think about how flows can be helpful for me in API testing. So by this, I have come up with certain use cases when it comes to API test and flows. So what are the um uh use cases that are there in flows that is like, you know, relevant with API test? The first point is we need um need of multiple collection.

Like I said, if I have um being um um uh being an API testing um enthusiast, if I have a scenario where one of my API in collection A has to communicate with another uh API in collection B then in in traditional approach, it was it is not possible but you can do that with um you know, you know a postman flow.

So that is one use case that is like, you know, used um when it comes to API test using flows. Another thing, you have complex logical queries where for which you did not fiddle with the uh Java scripting thing. But you can use flows where it's just drag and drop and you, you do have certain um ready made snippets which will help you to make your flow more interactive and more complex free. Finally, it it helps you in order to cover your regression test. So one flow if you it's like all built and if you have multiple changes happening in the project that you are working on, you need not go and you know, create everything from the scratch. The flow is all uh all ready and you need just need to do certain modification by which the regression test will also be like covered. Finally, you can help um by designing flows, you can keep um a monitoring feature or you can take um health checkup of all the API S that you are working on. For instance, I have four different projects uh currently in my hand and there are multiple API S that I am like working on and every now and then I'm rece uh receiving certain change request very frequently.

So how do I make sure to check whether my API S are up and running fine or not? So, in that scenario, I can design just a single flow covering all my API S and with one click, I can just make sure that my API is up and running. So by this, I can make a health checkup of all the API S that I am currently working on. So these are the uh certain use cases when it comes to API testing and flows is highly recommended under all these circumstances. So now that we have gone through many theoretical concepts and you know, come up with all the um uh theoretical concepts. Let me quickly show you a short flow that I have designed for today's session. Uh flows can be like uh once you open the postman, uh like I said, flows will be working on in postman workspace. So you have to have a dedicated workspace for that. I have already created a workspace for my floor. So uh just in case you're new, you have to create a workspace for that. Once you land up here, there are different components available here. So for flows, you have to come and click over here.

But the prerequisite, please do not forget you need to have a proper collection and a request along with the request, you also need to have the uh examples tied up to it. So today, I'll be showing you a scenario where I need to water my plants. So I have a request which will let me know if the water level of the plant is like up to mark. So if the water level is less than 100. I have to make sure that my plants are watered. And once the plant is like all watered, I have um I need to be notified in my Slack account. So here I have incorporated a Slack integration feature as well with my flow. So once the plant is like all watered, the Slack account will be notified with a message saying that the plants are like water. So the steps that I need to do in order to create my flows is just this hit the API to check if the water level, what is the water level? So if the water level is less than 100 then I will be hitting my next request to water my plants. And once that is done, I will get a notification in my Slack channel saying that the plants are watered once all um request is like success.

I will be notified in my console saying that the flow was executed and the plants are watered. So how do I land up to this floor? Just click on those flows. There are two option by using this plus icon. You can create your flow or from this new option, you can add your flow. So once the flow uh Canva is like loaded, this is the Canva that is like loaded from here. You can have the multiple blocks that you need or else you can just right click, you will have all the blocks enabled here. So now that I have explained the scenario and let me open the console as well. Let's just hit the run. So you can just see how the flow is like executing. So the first request is like heated, it will evaluate whether the water level is less than 100 or not. And if it's like 100 less than 100 it will say please water the plant and then it will go back to the next um um uh request to the Slack account to intimate that the plants are like watered. And based on the execution of everything, it will intimate me that the flow is executed and plants are watered. So let us check in the slack if our message is like triggered or not. Oh Wow. Yes. The message is also triggered. Plants have been watered for five seconds.

So this is how in one single canva, I was able to cover multiple scenarios in one go. Isn't that interesting? Yes, it is. So let's go back to our uh presentation slide. So we are done with the demo or the live interest and to quickly recap, it was just a short time for me to cover a very vast subject. So uh let's quickly recap on the topics that we covered for today. We understood the background of postman low code feature that is flows alongside. I explained what exactly is flows with its core concept and then P CO related API testing and how helpful flows can be in that genre. Finally, I showed you a live example of flows. Um so that it was easy to visualize how the flow looks like to sum up my talk flows really opens our postman to a whole new audience without a doubt, flows will win your heart. So it's worth to go. But a personal note here flows to me wasn't that easy to explode, but it's not that complicated too. But if you are interested, do give it a try. Once you put your hands, you will start loving it. If anyone is interested more to get know um to know about this flows, please feel free to connect me in my linkedin or tutor. The account is here. You can, since it's a vast topic, uh there will be many questions that I expect from uh the participants.

So feel free to connect with me on linkedin or Twitter. Happy to connect with you all day. Thank you so much for your valuable time. I hope the session was informative to everyone. Thank you.