Karate

Web-services testing made simple 🥋

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.

Discussion
Would you recommend this product?
1 Review5.0/5
How different is this from JMeter or SOAPUI? JMeter is also an open-source project which supports test automation and performance testing.
Upvote (3)Share
@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.
@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.
@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.
Upvote (1)Share
@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 :)
@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.
@ptrthomas What features are you planning on adding to this?
Upvote (1)Share
@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.