Structured Output, Function Calling, and Autonomous Test Authoring

Entering 2024, it feels like the whole AI tooling ecosystem has leveled up dramatically over the last year. We’re finally moving past hacky string parsing and regex workarounds—OpenAI’s native Function Calling has completely changed how I build scripts that interact with LLMs. What I’ve Been Experimenting With Lately 1. Reliable, Deterministic Scripting via Function Calling Instead of asking the model for raw code or text and hoping for the best, I’ve been defining strict JSON schemas for core test actions—things like click_element(selector), fill_input(selector, text), and assert_text(expected). ...

March 26, 2024

Playwright's Dominance And the low code AI Influx

Lately, it feels like we’ve hit a real tipping point with web automation. Selenium had a great decade-plus run, but for me, Microsoft Playwright has officially taken over as the go-to tool for modern web testing. It’s just so much faster and smoother to work with. At the same time, I’ve been keeping an eye on the flood of new commercial “low-code” AI test tools popping up everywhere, trying to see if they actually deliver on bridging the gap between manual testing and automated pipelines. ...

September 18, 2023

IDE Assistants and shift towards API Automation

The initial novelty of pasting prompts into web browser windows has pretty much worn off. Lately, I’ve been way more interested in how AI fits directly into the everyday coding workflow—mostly tinkering with GitHub Copilot and inline code completions right inside the editor. At the same time, my own approach to test automation has been shifting. I’ve been leaning much harder into API and microservice testing lately, mostly because keeping heavy UI tests reliable as apps change fast is a constant uphill battle. ...

June 21, 2023

What Chatgpt Means for Our Test Automation Strategy

If your group chats look anything like mine lately, they’re probably full of screenshots of ChatGPT spitting out code. Ever since the public launch blew up, I’ve been down a rabbit hole trying to figure out what’s actually useful versus what’s just hype. I wanted to cut through the noise and see how this stuff actually holds up in real life. Is AI going to write whole test suites for us overnight? Definitely not. But can it make the tedious, repetitive stuff a lot less painful right now? 100%. ...

March 28, 2023

How to integrate ReadyAPI with Zephyr Scale

ReadyAPI has inbuilt support for various test management tools. File » Preferences will list down all integration with tools like Jira, Zephyr etc. However, at the time of writing this post, Zephyr Integration is available only with Zephyr Squad and not Zephyr Scale. If your team is using Zephyr Scale, there is no inbuilt integration. I hope this will change in future since both ReadyAPI and Zephyr Scale is owned by same company. ...

March 29, 2022

ReadyAPI_How to use Script Assertions

In the previous blog post here and here, we saw how to create a functional test case and add assertions to validate the result. ReadyAPI provides many inbuilt assertion methods which will help to easily validate the output response without any coding. However, in real-world usage for test automation, it may not be enough. Consider the scenario where we need to validate the response content has proper values from an expected list. In this example, let us make an assertion to validate, that the status field in the response for making the order is either placed or notplaced. ...

March 10, 2022

How to work with XML in groovy Scripts

ReadyAPI can be used for testing both SOAP and REST services. Output format of them is mainly XML / JSON. Hence it is important to know how to parse them into corresponding objects. Parsing XML Consider a scenario where output for a SOAP service or JDBC call is returning a XML containing list of person information, which we need to convert to objects. XML format is like below, which available as a response content of a ReadyAPI Step ...

February 24, 2022

How to make full use of readyAPI features

In my previous post here, I mentioned how to do a basic functional test. Sometimes, we might have to do complex flows where we need to call multiple APIs and also iterate the tests with various sets of data. Let us look at one scenario, which involves the below steps. Get details of pet based on PetID If the pet details are retrieved, place an order Iterate the above scenario for different Pet ID ...

February 1, 2022

Getting Started with ReadyAPI

Ready API is the rebranded SOAPUI Pro, which can be used for testing both SOAP services and REST services. This is a licensed tool , which offer 14 days free trial for all features. ReadyAPI provides lot for upgrades compared to free open source SoapUI . Major advantages to support functional testing of REST APIs are dynamic data sources, assertion groups, scripting , advanced property transfer etc. Full list of differences between ReadyAPI and Soap UI can be found here . ...

January 19, 2022

Dynamically create instance of a type on run time using Reflection in C#

Reflection is the process of describing the metadata of types, methods and fields in a code. It helps to get information about loaded assemblies and elements within it like classes, methods etc. According to microsoft documentation, Reflection provides objects (of type Type) that describe assemblies, modules, and types. You can use reflection to dynamically create an instance of a type, bind the type to an existing object, or get the type from an existing object and invoke its methods or access its fields and properties. If you are using attributes in your code, reflection enables you to access them. ...

July 31, 2021