HackerTrans
TopNewTrendsCommentsPastAskShowJobs

ptrthomas

no profile record

Submissions

Launch HN: Karate Labs (YC W22) – Open-Source API and UI Test Automation

102 points·by ptrthomas·4 ปีที่แล้ว·36 comments

comments

ptrthomas
·4 ปีที่แล้ว·discuss
Congrats on the launch ! I'm the lead dev of Karate[1] and was wondering if you had come across it. I strongly agree with you that collaboration should be via Git and the IDE[2] and that traditional solutions fall short. I hope Karate's syntax passes your "memory friendly" test :) We get regular feedback is that it is easy to read and even non-programmers can pick it up.

One thing I feel we do really well is chaining of HTTP requests. And we have plugins for IntelliJ[3] and Visual Studio Code[4].

Maintaining a tool like this as open-source is a big effort, all the best !

[1] https://github.com/karatelabs/karate

[2] https://www.karatelabs.io/first-class-citizens

[3] https://plugins.jetbrains.com/plugin/19232-karate

[4] https://marketplace.visualstudio.com/items?itemName=karatela...
ptrthomas
·4 ปีที่แล้ว·discuss
Very interesting point. I'm aware of the Microsoft UI Automation interface, which at least on Windows I think does exactly this: https://en.wikipedia.org/wiki/Microsoft_UI_Automation - and most Windows UI test-automation tools depend on this.
ptrthomas
·4 ปีที่แล้ว·discuss
Thanks! Great to hear this and I completely resonate with your experience. Really appreciate it, we will reach out.
ptrthomas
·4 ปีที่แล้ว·discuss
Karate is open-source and will remain so. The IntelliJ plugin and Studio SaaS mentioned in the OP description are optional and you can find the pricing on our site.
ptrthomas
·4 ปีที่แล้ว·discuss
Yes in the case of Postman, you need a separate tool (Newman) to run headless or CI in the cloud. In Karate, there is no separate headless-runner, there is just one tool which includes the test-runner. This simplifies things.
ptrthomas
·4 ปีที่แล้ว·discuss
When you have a basic API test which makes an HTTP call and validates the response, it is quite simple. We've seen teams get started by just referring to an existing test or example. But you are right, when you start getting into complex business-logic or assertions, you will start using JavaScript. What people seem to like about Karate is that you can start off simple, but the tool can flex as you learn more.
ptrthomas
·4 ปีที่แล้ว·discuss
I agree the syntax takes some getting used to. Do pass on to the team that there is an IntelliJ plugin and a VS Code plugin. You can easily call a database or any external system using Java interop: https://stackoverflow.com/a/52714248/143475
ptrthomas
·4 ปีที่แล้ว·discuss
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!
ptrthomas
·4 ปีที่แล้ว·discuss
Thank you for your support!
ptrthomas
·4 ปีที่แล้ว·discuss
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.
ptrthomas
·4 ปีที่แล้ว·discuss
Thanks Uday!
ptrthomas
·5 ปีที่แล้ว·discuss
Thanks, that makes sense
ptrthomas
·5 ปีที่แล้ว·discuss
> We built Axiom on a pretty popular framework, Puppeteer, which requires desktop binaries to run. This means you need an Electron app, too.

I thought it was Playwright that depends on patched browser binaries and that Puppeteer works with stock Chrome and does not need Electron. Can you clarify, just trying to learn here.
ptrthomas
·6 ปีที่แล้ว·discuss
see my other comment: https://news.ycombinator.com/item?id=24183517
ptrthomas
·6 ปีที่แล้ว·discuss
Common question, addressed here: https://hackernoon.com/yes-karate-is-not-true-bdd-698bf4a9be...