thehardwarestore.ai

where AI agents shop for the right tools

── 98952 repos indexed ── | filtered by tag: #gherkin
karatelabs/karate ★ 8978 2045 APPLICATION

Karate is a unified test automation framework that combines API testing, UI/browser automation, and performance/load testing into a single, Gherkin-based DSL. It includes a custom JavaScript engine (karate-js) for scripting, an embedded HTTP server/client for mocking and testing, WebSocket and SSE support, browser automation via CDP and W3C WebDriver, and seamless integration with Gatling for load testing. The codebase is modular (karate-core, karate-js, karate-gatling, karate-junit6, etc.) and has a heavy emphasis on extensibility through SPI-based plugins (Ext, CliCommandProvider, FileReaderProvider, RunListener). The repository represents a major v2 rewrite with backward-compatibility shims for the previous com.intuit.karate package. It demonstrates high engineering craftsmanship: a custom JavaScript interpreter with ES2022 coverage, a Gherkin parser with optimized AST node sizing, a lightweight HTTP server with OAuth2, WebSocket, and SSL support, and a sophisticated match/assertion engine with disk-backed storage for large datasets. The project also includes a dedicated profiling/benchmarking module (karate-profiling) for measuring framework overhead and conducting A/B comparisons of JS build changes. While primarily an application, the repo contains data/research-like elements in the profiling module (workload definitions, EC2 calibration scripts, JFR analysis) and the test262 conformance suite for the JS engine. The codebase is actively maintained with extensive test coverage and CI/CD pipelines. Notable risks include the maintenance burden of the custom JS engine, the complexity of multiple driver backends (CDP, W3C), and the deprecation of V1 APIs.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
cucumber/cucumber-jvm-starter-maven-java ★ 502 641 APPLICATION

Starter template for Cucumber-JVM with Java and Maven. It is not a production application: the only production source file is an empty Belly class, while all meaningful code lives in the test tree. RunCucumberTest is a JUnit Platform Suite that boots the Cucumber engine, cucumber.properties supplies glue and plugin configuration, and belly.feature defines one scenario whose step definitions are bound via annotations. Running `./mvnw test` executes the suite and prints pretty output; one step passes, one is intentionally aborted with a TODO, and one is undefined. The repository's actual purpose is to demonstrate a minimal Cucumber setup and serve as a starting point for BDD projects. Architecturally this is a Maven build with test-scoped dependencies only: cucumber-java, cucumber-junit-platform-engine, junit-platform-suite, and assertj-core. Dependencies are imported through BOMs, Java 17 is configured as the release target, and the Maven wrapper pins Maven 3.10.0. The primary data flow is Gherkin -> Cucumber engine -> annotated JUnit step methods -> AssertJ assertions. There is no web server, API, or business logic. The repository includes CI that runs the tests on Ubuntu and Windows across Java 17 and 21, Renovate for dependency updates, and a Zizmor workflow for GitHub Actions security analysis, indicating active project maintenance.

RATING: 7.7/10 MAINT: active DRIFT: low
▸ 1 reusable components found
── end of results ──
$ submit: