[HN Gopher] Launch HN: Karate Labs (YC W22) - Open-Source API an...
___________________________________________________________________
Launch HN: Karate Labs (YC W22) - Open-Source API and UI Test
Automation
Hi HN, Peter here, founder of Karate Labs (https://karatelabs.io)
joined by my co-founder Kapil. Karate is an open-source solution
unifying API and UI test automation, including mock servers and
performance testing (https://github.com/karatelabs/karate). 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. 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]. 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
(https://twitter.com/getkarate/status/1515657727913377798 ), 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. 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've released
our first two open-core products. 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/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
https://studio.karatelabs.io, and you can see a demo video here:
https://www.youtube.com/watch?v=aJCgtnhektA. Our second new
product is an IntelliJ plugin (https://www.karatelabs.io/intellij-
plugin) 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:
https://plugins.jetbrains.com/plugin/19232-karate. When it comes
to "build vs buy", 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. 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. [1] https://medium.com/walmartglobaltech/kafka-
automation-using-... [2] https://medium.com/expedia-group-
tech/karate-5-reasons-why-y... [3]
https://adapt.to/2018/en/schedule/karate-the-black-belt-of-h...
[4] https://tech.trivago.com/post/2019-11-14-apitestautomationus...
[5] https://oktana.com/api-testing-using-karate-framework/
Author : ptrthomas
Score : 67 points
Date : 2022-06-13 12:53 UTC (10 hours ago)
| RobertRoberts wrote:
| A simple UX note for your site. Make your background of some part
| of your site dark, because when I load a page I see nothing for
| awhile until the background image loads because it's white text
| on white background.
| bakkap77 wrote:
| Thank you for the feedback. Much appreciated. Noted. We are
| redesigning our website and will certainly take this into
| account.
| zomglings wrote:
| This is something we need very desperately right now -
| DESPERATELY.
|
| And despite that, this was the feedback from some of my
| colleagues (referring to this:
| https://github.com/karatelabs/karate/raw/master/karate-demo/...)
| :
|
| "I not like syntax but docs looks like good_)"
|
| "I also don'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's so that non-developers can read the
| tests, but in practice they still don't."
|
| 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.
| orliesaurus wrote:
| How does it compare to Postman or Stoplight for testing your
| APIs?
| ptrthomas wrote:
| Postman is a "UI driven" tool, it is great for exploratory
| testing of APIs and sharing the knowledge on how you call an
| API (e.g. collections) with others.
|
| But Karate tests are scripts that can be checked into version-
| control just like any other code in your team.
|
| Karate allows you to write hybrid tests, which means you can
| switch between API calls and UI actions within the same test
| script. You can also re-use API tests as performance tests with
| Karate. Tests are executed in parallel and you get a single
| HTML report.
|
| Finally, in my opinion - the assertions that Karate gives you
| out of the box for complex JSON payloads are hard to beat.
| orliesaurus wrote:
| can't you use Newman to set up unattended tests?
| VWWHFSfQ wrote:
| > even non-programmers can write tests
|
| I'm curious if this has never actually happened? In my experience
| definitely not. I'm trying to think of even what kind of job
| role/skillset would have the knowledge and ability to write this
| bespoke syntax but not have any ability to do some basic script
| programming.
| saikatsg wrote:
| Inspirational journey, all the best !
| ptrthomas wrote:
| Thank you for your support!
| uday_nandam wrote:
| Amazing work Peter, congrats on all the success that you've had
| so far and future success!
|
| I've watched this project from my time at Intuit (PCG), and the
| impact that it had there
| ptrthomas wrote:
| Thanks Uday!
| SoftwareDev6 wrote:
| very nice, how much?
| dang wrote:
| Launch HNs and job ads are 2 of the 3 things that HN gives back
| to YC in exchange for funding it (the third one is orange
| usernames for YC alums). This is explained in the FAQ:
| https://news.ycombinator.com/newsfaq.html#yc. I've also posted
| about it many times, as you can see from links like https://hn.
| algolia.com/?dateRange=all&page=0&prefix=true&que....
| SoftwareDev6 wrote:
| don't worry Captain Dang, I edited it. Thanks for linking it.
| ignoramous wrote:
| > _HN gives back to YC in exchange for funding it..._
|
| I'd not mind if news.yc is spun off as a non profit, relying
| on funds from the community it serves (only if that was a
| given...)
| dang wrote:
| I'm pretty sure that wouldn't work. HN is the product of a
| rare set of initial conditions, and the funding aspect is a
| critical aspect of that. The symbiosis, if you like,
| between HN and YC is part of the DNA of both entities. No
| doubt it has some downsides (such as job ads on the front
| page), but I'd say the downsides are small enough that it
| wouldn't be worth the risk to try to minimize them further.
| Of course that's just my opinion.
|
| I've written about this intermittently and most of those
| comments can be found amongst https://hn.algolia.com/?dateR
| ange=all&page=0&prefix=false&so..., if anyone wants more.
| 88913527 wrote:
| How might one compare and contrast this solution with tools like
| Storybook paired with Chromatic? This looks fantastic and I love
| seeing innovation in this space; UI testing is challenging for
| teams who lean on these tools so they can focus on building great
| user experiences.
| ptrthomas wrote:
| To be honest my experience with Storybook is limited, and I see
| it more specialized for design-system consistency and review.
| Karate is a generic browser automation framework, which can do
| cross-browser testing. With some tweaks it could possibly
| complement Storybook, for instance, here is an example of an
| accessibility test-report:
| https://twitter.com/getkarate/status/1338892932691070976
|
| Thanks for the pointer, we will certainly explore the
| possibilities here!
___________________________________________________________________
(page generated 2022-06-13 23:00 UTC)