Karate

Web-services testing made simple 🥋

Featured Embed

Karate is the only open-source tool to combine API test-automation, mocks and performance-testing into a single, unified framework. The BDD syntax popularized by Cucumber is language-neutral, and easy for even non-programmers. Besides powerful JSON & XML assertions, you can run tests in parallel - which is critical for HTTP API testing.

Reviews
Discussion
You need to become a Contributor to join the discussion.
NaveenKumar Namachivayam
NaveenKumar Namachivayam@naveenkumar · Performance Test Lead | QAInsights.com
How different is this from JMeter or SOAPUI? JMeter is also an open-source project which supports test automation and performance testing.
Peter Thomas
Peter ThomasMaker@ptrthomas · Creator of Karate for API Testing
@naveenkumar JMeter is only for perf-testing, but Karate is designed for functional-testing. What this means is when you want to perform complex assertions on the response JSON or XML - you have to do a lot more work in JMeter (by default you typically only check for a 200 OK). With Karate you get the best of both worlds: you start off by writing functional tests and later you can re-use them as performance tests via Gatling. There are lot more points but the other important one is JMeter is UI-driven which means it is hard for teams to collaborate via SCM or Git, and CI automation (though possible) is that much more of a challenge. Karate also has an API-mocking capability built-in.
NaveenKumar Namachivayam
NaveenKumar Namachivayam@naveenkumar · Performance Test Lead | QAInsights.com
@ptrthomas JMeter also has an option to leverage automation capabilities. Please check the test plan option in JMeter :) For the complex assertions, there are plugins available for JMeter. I am an ardent user of JMeter, LoadRunner, SOAPUI and PostMan. Let me try Karate and share my experience.
Peter Thomas
Peter ThomasMaker@ptrthomas · Creator of Karate for API Testing
@naveenkumar yes I don't want to get into a back-and-forth here :) Please do take a look and let me know your feedback. Perhaps I should blog or write an article on Karate compared with JMeter. JSON assertions and data-driven testing are built-in to Karate, no plugins required.
NaveenKumar Namachivayam
NaveenKumar Namachivayam@naveenkumar · Performance Test Lead | QAInsights.com
@ptrthomas please check this screenshot https://cl.ly/948234707ed1 Do you have the online version of the demo application. I can add it in my tool www.perftractor.xyz :)
Peter Thomas
Peter ThomasMaker@ptrthomas · Creator of Karate for API Testing
@naveenkumar sorry that screenshot doesn't tell me how to perform complex JSON assertions and ignore dynamically changing fields in the response. If you have Gatling in your "perftractor" Karate is the same, else no.
Amrith Shanbhag
Amrith Shanbhag@amrith · Community + Social at Product Hunt
@ptrthomas What features are you planning on adding to this?
Peter Thomas
Peter ThomasMaker@ptrthomas · Creator of Karate for API Testing
@amrith I would say we are pretty mature for API testing (core, mocks, perf). Am exploring if we can support web-UI testing also. If possible, that would be pretty disruptive.