<story><title>Launch HN: Karate Labs (YC W22) – Open-Source API and UI Test Automation</title><text>Hi HN, Peter here, founder of Karate Labs (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;karatelabs.io&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;karatelabs.io&lt;/a&gt;) joined by my co-founder Kapil. Karate is an open-source solution unifying API and UI test automation, including mock servers and performance testing (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;karatelabs&amp;#x2F;karate&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;karatelabs&amp;#x2F;karate&lt;/a&gt;).&lt;p&gt;Back in 2016, I was part of the API platform team at Intuit. An issue had been slowing down the team: a particular test for a set of key services would randomly fail, and it was not clear if this was a problem with the test or if there was a genuine defect. The deeper I looked, the more the complexity around the test-suite freaked me out. It was using an in-house framework, which had evolved over years and the test depended on code in multiple files scattered across the workspace. It was clear that many programmers had attempted to fix it over the years. It was next to impossible to understand what the test was doing. There had to be a better way to express web-service functional tests, and I started thinking hard about it.&lt;p&gt;This gave birth to Karate, a scriptable framework combining API and UI test automation. It has seen world wide adoption as an open-source project, including 37 of the Fortune 500 companies (so far!). Companies that have written about how they use Karate include Walmart [1], Expedia [2], Adobe [3], Trivago [4], and Oktana [5].&lt;p&gt;Karate has its own Domain Specific Language, focused on writing tests with less code and in less time. This results in easy-to-read, maintainable tests, which are often simple enough for product owners to be able to contribute to. Karate also has powerful assertions (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;twitter.com&amp;#x2F;getkarate&amp;#x2F;status&amp;#x2F;1515657727913377798&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;twitter.com&amp;#x2F;getkarate&amp;#x2F;status&amp;#x2F;1515657727913377798&lt;/a&gt; ), runs tests in parallel, and can reuse API tests as performance tests, which saves time compared to rewriting performance tests using a second tool. The UI automation space is crowded, but there are very few tools that do all three: API, UI and performance testing.&lt;p&gt;Last year, we decided to leave our day-jobs and work full-time on Karate. We incorporated Karate Labs as a for-profit company with an open-core business model in mind. In recent weeks, we&amp;#x27;ve released our first two open-core products.&lt;p&gt;Karate Studio can import Postman collections, Swagger, OpenAPI, HAR and cURL. Once imported, you can preview an API sequence and edit it using an intuitive no-code interface. You can then export it as a ready-to-run Karate feature file that you can integrate into your existing CI&amp;#x2F;CD or DevOps pipeline. If you already have a set of Postman collections, you can migrate them to Karate and get the benefits of parallel execution, powerful assertions and performance testing. If team members prefer Postman for exploratory testing, they can use Studio to convert their draft collections into full-fledged API automation suites, complete with assertions for complex business logic, and then use them in regression test suites. Studio can also export back to Postman if needed. It is available for a 7-day free trial at &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;studio.karatelabs.io&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;studio.karatelabs.io&lt;/a&gt;, and you can see a demo video here: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=aJCgtnhektA&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=aJCgtnhektA&lt;/a&gt;.&lt;p&gt;Our second new product is an IntelliJ plugin (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.karatelabs.io&amp;#x2F;intellij-plugin&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.karatelabs.io&amp;#x2F;intellij-plugin&lt;/a&gt;) that integrates the auto-complete experience and syntax hints that developers love. Until now, Karate support in IntelliJ was via the built-in Cucumber and Gherkin support, which was very basic. Teams have wished for a better option that would take advantage of all the Karate capabilities such as embedded JSON, JS and data assertions. Now you can write, debug, and maintain Karate tests even faster than before. The plugin is available from the JetBrains Marketplace with a 30-day free trial: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;plugins.jetbrains.com&amp;#x2F;plugin&amp;#x2F;19232-karate&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;plugins.jetbrains.com&amp;#x2F;plugin&amp;#x2F;19232-karate&lt;/a&gt;.&lt;p&gt;When it comes to &amp;quot;build vs buy&amp;quot;, many teams tend to build test automation frameworks. The fact that maintenance of an in-house framework eventually becomes prohibitive in terms of effort and cost, tends to be overlooked. We are trying to increase awareness that choosing a mature open-source framework like Karate is the right move for any team wanting to improve developer velocity.&lt;p&gt;We thank the community, developers and enterprise users of Karate for having helped us achieve broad adoption and earn credibility in the test-automation domain. We look forward to your support, feedback and suggestions.&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;medium.com&amp;#x2F;walmartglobaltech&amp;#x2F;kafka-automation-using-karate-6a129cfdc210&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;medium.com&amp;#x2F;walmartglobaltech&amp;#x2F;kafka-automation-using-...&lt;/a&gt;&lt;p&gt;[2] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;medium.com&amp;#x2F;expedia-group-tech&amp;#x2F;karate-5-reasons-why-you-should-try-it-87539e003840&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;medium.com&amp;#x2F;expedia-group-tech&amp;#x2F;karate-5-reasons-why-y...&lt;/a&gt;&lt;p&gt;[3] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;adapt.to&amp;#x2F;2018&amp;#x2F;en&amp;#x2F;schedule&amp;#x2F;karate-the-black-belt-of-http-api-testing.html&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;adapt.to&amp;#x2F;2018&amp;#x2F;en&amp;#x2F;schedule&amp;#x2F;karate-the-black-belt-of-h...&lt;/a&gt;&lt;p&gt;[4] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;tech.trivago.com&amp;#x2F;post&amp;#x2F;2019-11-14-apitestautomationusingkarate&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;tech.trivago.com&amp;#x2F;post&amp;#x2F;2019-11-14-apitestautomationus...&lt;/a&gt;&lt;p&gt;[5] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;oktana.com&amp;#x2F;api-testing-using-karate-framework&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;oktana.com&amp;#x2F;api-testing-using-karate-framework&amp;#x2F;&lt;/a&gt;</text></story><parent_chain></parent_chain><comment><author>zomglings</author><text>This is something we need very desperately right now - DESPERATELY.&lt;p&gt;And despite that, this was the feedback from some of my colleagues (referring to this: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;karatelabs&amp;#x2F;karate&amp;#x2F;raw&amp;#x2F;master&amp;#x2F;karate-demo&amp;#x2F;src&amp;#x2F;test&amp;#x2F;resources&amp;#x2F;karate-hello-world.jpg&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;karatelabs&amp;#x2F;karate&amp;#x2F;raw&amp;#x2F;master&amp;#x2F;karate-demo&amp;#x2F;...&lt;/a&gt;) :&lt;p&gt;&amp;quot;I not like syntax but docs looks like good_)&amp;quot;&lt;p&gt;&amp;quot;I also don&amp;#x27;t like the syntax. In the past, Ive ended up writing a lot of code that amounts to syntax configuration without a ton of benefit. Arguably, it&amp;#x27;s so that non-developers can read the tests, but in practice they still don&amp;#x27;t.&amp;quot;&lt;p&gt;Most of our complexity comes from having to test against two independent systems - deployed smart contracts and a database. Anyway, let us see if they try it out.</text></comment>
<story><title>Launch HN: Karate Labs (YC W22) – Open-Source API and UI Test Automation</title><text>Hi HN, Peter here, founder of Karate Labs (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;karatelabs.io&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;karatelabs.io&lt;/a&gt;) joined by my co-founder Kapil. Karate is an open-source solution unifying API and UI test automation, including mock servers and performance testing (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;karatelabs&amp;#x2F;karate&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;karatelabs&amp;#x2F;karate&lt;/a&gt;).&lt;p&gt;Back in 2016, I was part of the API platform team at Intuit. An issue had been slowing down the team: a particular test for a set of key services would randomly fail, and it was not clear if this was a problem with the test or if there was a genuine defect. The deeper I looked, the more the complexity around the test-suite freaked me out. It was using an in-house framework, which had evolved over years and the test depended on code in multiple files scattered across the workspace. It was clear that many programmers had attempted to fix it over the years. It was next to impossible to understand what the test was doing. There had to be a better way to express web-service functional tests, and I started thinking hard about it.&lt;p&gt;This gave birth to Karate, a scriptable framework combining API and UI test automation. It has seen world wide adoption as an open-source project, including 37 of the Fortune 500 companies (so far!). Companies that have written about how they use Karate include Walmart [1], Expedia [2], Adobe [3], Trivago [4], and Oktana [5].&lt;p&gt;Karate has its own Domain Specific Language, focused on writing tests with less code and in less time. This results in easy-to-read, maintainable tests, which are often simple enough for product owners to be able to contribute to. Karate also has powerful assertions (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;twitter.com&amp;#x2F;getkarate&amp;#x2F;status&amp;#x2F;1515657727913377798&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;twitter.com&amp;#x2F;getkarate&amp;#x2F;status&amp;#x2F;1515657727913377798&lt;/a&gt; ), runs tests in parallel, and can reuse API tests as performance tests, which saves time compared to rewriting performance tests using a second tool. The UI automation space is crowded, but there are very few tools that do all three: API, UI and performance testing.&lt;p&gt;Last year, we decided to leave our day-jobs and work full-time on Karate. We incorporated Karate Labs as a for-profit company with an open-core business model in mind. In recent weeks, we&amp;#x27;ve released our first two open-core products.&lt;p&gt;Karate Studio can import Postman collections, Swagger, OpenAPI, HAR and cURL. Once imported, you can preview an API sequence and edit it using an intuitive no-code interface. You can then export it as a ready-to-run Karate feature file that you can integrate into your existing CI&amp;#x2F;CD or DevOps pipeline. If you already have a set of Postman collections, you can migrate them to Karate and get the benefits of parallel execution, powerful assertions and performance testing. If team members prefer Postman for exploratory testing, they can use Studio to convert their draft collections into full-fledged API automation suites, complete with assertions for complex business logic, and then use them in regression test suites. Studio can also export back to Postman if needed. It is available for a 7-day free trial at &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;studio.karatelabs.io&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;studio.karatelabs.io&lt;/a&gt;, and you can see a demo video here: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=aJCgtnhektA&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=aJCgtnhektA&lt;/a&gt;.&lt;p&gt;Our second new product is an IntelliJ plugin (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.karatelabs.io&amp;#x2F;intellij-plugin&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.karatelabs.io&amp;#x2F;intellij-plugin&lt;/a&gt;) that integrates the auto-complete experience and syntax hints that developers love. Until now, Karate support in IntelliJ was via the built-in Cucumber and Gherkin support, which was very basic. Teams have wished for a better option that would take advantage of all the Karate capabilities such as embedded JSON, JS and data assertions. Now you can write, debug, and maintain Karate tests even faster than before. The plugin is available from the JetBrains Marketplace with a 30-day free trial: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;plugins.jetbrains.com&amp;#x2F;plugin&amp;#x2F;19232-karate&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;plugins.jetbrains.com&amp;#x2F;plugin&amp;#x2F;19232-karate&lt;/a&gt;.&lt;p&gt;When it comes to &amp;quot;build vs buy&amp;quot;, many teams tend to build test automation frameworks. The fact that maintenance of an in-house framework eventually becomes prohibitive in terms of effort and cost, tends to be overlooked. We are trying to increase awareness that choosing a mature open-source framework like Karate is the right move for any team wanting to improve developer velocity.&lt;p&gt;We thank the community, developers and enterprise users of Karate for having helped us achieve broad adoption and earn credibility in the test-automation domain. We look forward to your support, feedback and suggestions.&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;medium.com&amp;#x2F;walmartglobaltech&amp;#x2F;kafka-automation-using-karate-6a129cfdc210&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;medium.com&amp;#x2F;walmartglobaltech&amp;#x2F;kafka-automation-using-...&lt;/a&gt;&lt;p&gt;[2] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;medium.com&amp;#x2F;expedia-group-tech&amp;#x2F;karate-5-reasons-why-you-should-try-it-87539e003840&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;medium.com&amp;#x2F;expedia-group-tech&amp;#x2F;karate-5-reasons-why-y...&lt;/a&gt;&lt;p&gt;[3] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;adapt.to&amp;#x2F;2018&amp;#x2F;en&amp;#x2F;schedule&amp;#x2F;karate-the-black-belt-of-http-api-testing.html&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;adapt.to&amp;#x2F;2018&amp;#x2F;en&amp;#x2F;schedule&amp;#x2F;karate-the-black-belt-of-h...&lt;/a&gt;&lt;p&gt;[4] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;tech.trivago.com&amp;#x2F;post&amp;#x2F;2019-11-14-apitestautomationusingkarate&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;tech.trivago.com&amp;#x2F;post&amp;#x2F;2019-11-14-apitestautomationus...&lt;/a&gt;&lt;p&gt;[5] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;oktana.com&amp;#x2F;api-testing-using-karate-framework&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;oktana.com&amp;#x2F;api-testing-using-karate-framework&amp;#x2F;&lt;/a&gt;</text></story><parent_chain></parent_chain><comment><author>uday_nandam</author><text>Amazing work Peter, congrats on all the success that you&amp;#x27;ve had so far and future success!&lt;p&gt;I&amp;#x27;ve watched this project from my time at Intuit (PCG), and the impact that it had there</text></comment>