shipwithjev

Catalog / Tools & apps

0142GitHub

jevcumber

Cucumber tests from the .feature file alone. No step definitions.

RubyBrewsday/jevcumberREADME ↗
# 🥒 jevcumber

**[jevcumber.dev](https://jevcumber.dev)** — site and demo video

[](https://www.npmjs.com/package/jevcumber)
[](https://github.com/RubyBrewsday/jevcumber/actions/workflows/ci.yml)
[](LICENSE)

**Write Cucumber tests with just the `.feature` file. No step definitions.**

```gherkin
Feature: Wikipedia search

  Scenario: Looking up bagels
    Given I am on https://en.wikipedia.org
    When I search for "bagel"
    Then I should see "From Wikipedia, the free encyclopedia"
    And the URL should contain "/wiki/Bagel"
```

```console
$ jevcumber examples/
Feature: Wikipedia search
  Scenario: Looking up bagels
    ✓ Given I am on https://en.wikipedia.org
    ✓ When I search for "bagel"
    ✓ Then I should see "From Wikipedia, the free encyclopedia"
    ✓ Then the URL should contain "/wiki/Bagel"

1 scenarios (1 passed) · 4 steps (4 passed)
```

That's the whole test. There is no glue code behind it.

## How it works

jevcumber opens your site in a real browser with [Playwright](https://playwright.dev) and, for each
Gherkin step, asks [Jev](https://docs.typesafe.ai) — TypeSafe AI's fast *System One* model — what the
step means **on the page in front of it**.

Jev never writes code or invents values. jevcumber lists what's actually there — the page's buttons,
fields and links, and the literal values in your step — and Jev *picks* among them:

| Your step | jevcumber asks | Jev picks |
| --- | --- | --- |
| `When I search for "bagel"` | what kind of action is this? | **fill** |
| | which control? `Search Wikipedia`, `Log in`, `Donate`… | **Search Wikipedia** |
| | which literal is the text to type? | **"bagel"** |
| | type only, or type and submit? | **submit** |

All of those questions go out in one request (about a second), each answer comes back with a
proba

Also filed under Tools & apps

  1. 0573

    Support chat: agent offered a human escalation path

    A frustrated customer hits a bot loop twice; the judge checks whether a human handoff was offered.

    everyai-com · Tools & apps

  2. 0572

    Subscription cancel: effective date is explicit

    An agent cancels a subscription; the judge checks the exact date the cancellation takes effect.

    everyai-com · Tools & apps

  3. 0571

    Sales quote: numbers match the official price list

    An agent quotes $29/seat against a price list; the judge checks the quote matches exactly.

    everyai-com · Tools & apps

  4. 0570

    Refund chat: agent stated the amount before issuing it

    A support agent issues a $42.50 refund; the judge checks the exact amount was stated before the refund was confirmed.

    everyai-com · Tools & apps