Nullifying Precipitation Machine
    Have ideas to improve npm?Join in the discussion! »

    handow

    0.18.2 • Public • Published

    Handow - e2e BDD test tool for webapp

    Online demo:

    Static view of a Handow UAT report The SHM server - a Handow implementation

    Handow is a tool or library to generate E2E test project (e.g. UAT) for browser-oriented apps.

    The project name comes from "Hand Shadow" to show respect to Puppeteer, and wish users play E2E test easily.

    Features

    • Gherkin syntax compatible
    • Chrome/Chromium orentied, driven by Puppeteer engine
    • Complete JavaScript programming
    • Create test suites rapidly without coding (or a little bit), basing on built-in steps library
    • Schedule test with plans and arrange stories with sequential stages
    • Fast running, execute story groups in parallel by multi-workers
    • Built-in single page report render
    • Cover page view, REST API and cookies testing
    • Cooperate with the test server extension - SHM project

    Go the Handow Site for more details.

    Install and Usage

    Make sure Node.js has been installed to your local machine.

    $ npm install handow
    

    OR

    $ yarn add handow
    

    Handow support creating UAT project in 2 ways. The recommended mode is calling Hoandow CLI. In this case the test project is created to provide steps, stories and plans. Handow will run the test material as a consumer. Handow can also provide APIs called by test script, just as a node module.

    #f03c15 Actually most users prefer to clone the seed project handow-seed, and run test with Handow-SHM server and UI.

    Handow CLI

    Handow CLI can explain itself.

    $ npx handow --help
    > Handow CLI (with npx runner):   $ npx handow --[task] [target-path]
    
    > --[task]                --plan          Run specific plan, followed by a plan path
    >                         --story         Run specific story, followed by '.feature' story path
    >                         --parsestory    Parse story or stories to suite(s), followed by stories directory or '.feature' story path
    >                         --buildstep     Build steps by specific custom step path, followed by custom steps path
    >                         --help          Show CLI help, default task
    
    > [target-path]             Target path relative with app root if target required for the task
    
    > Examples:                 [root-path]/$ npx handow --plan /project/myPlan
    >                           [root-path]/$ npx handow --buildstep
    

    Handow can also be called by npm script, e.g. script property defined in package.json of the test project.

    {
        "scrpits": {
            "myPlan": "handow --plan /project/myPlan"
        }
    }

    Then call Handow with npm runner:

    $ npm run myPlan
    

    #f03c15 Users always run their auto-test plans by SHM servers. But they still need the Handow CLI to call a single Handow operation or run a single story. That's important for test developers to verify a new created story or custom steps. In developing stage, the browser realtime-display and the rich console-output are much more important than the test reports.

    Handow API

    Handow methods:

    handow.runPlan(plan, workers)

    Run a plan with specific workers.

    @plan {string} path of a plan file
    @workers {integer} number of browser contexts running in parallel
    

    After handow.runPlan(plan, workers) finished successfully, test report is generated and rendered basing on project config.

    handow.runStories(storyPath, workers)

    Run one or multiple stories with specific worker. (Handow arrange stories with a internal plan and run it)

    @storyPath {string} path of a story file or directory contain stories
    @workers {integer} number of browser contexts running in parallel
    

    Example

    const handow = require('handow');
    const fooPlan = `${__dirname}/project/plan/myPlan`;
    
    handow.runPlan(fooPlan, 4);

    Documentation and demo project

    Handow documentation

    A seed project showing how to scaffold, maintain and run an UAT project.

    Install

    npm i handow

    DownloadsWeekly Downloads

    374

    Version

    0.18.2

    License

    MIT

    Unpacked Size

    7.36 MB

    Total Files

    105

    Last publish

    Collaborators

    • avatar