Natively Pronounced Mandarin

    @knapsack-pro/cypress

    5.3.1 • Public • Published

    @knapsack-pro/cypress

    CircleCI

    @knapsack-pro/cypress runs your E2E tests with Cypress.io test runner and does dynamic tests allocation across parallel CI nodes using KnapsackPro.com Queue Mode to provide the fastest CI build time (optimal test suite timing).

    Learn about Knapsack Pro Queue Mode in the video how to run tests with dynamic test suite split and learn what CI problems can be solved thanks to it.

    Read article about runnning javascript E2E tests faster with Cypress on parallel CI nodes.

    Table of Contents

    Installation

    See the docs to get started.

    FAQ

    Development

    Requirements

    You can use NVM to manage Node version in development.

    • >= Node 18.13.0 LTS

    Dependencies

    Setup

    1. Setup @knapsack-pro/core project.

    Follow below steps or use bin/setup_development script to take care of steps 2-5.

    1. Install dependencies:

      $ npm install
      $(npm bin)/cypress install
      
    2. In order to use local version of @knapsack-pro/core run:

      $ npm link @knapsack-pro/core
      
    3. Compile TypeScript code to lib directory by running:

      $ npm start
      
    4. Register @knapsack-pro/cypress package globally in your local system. This way we will be able to develop other npm packages dependent on it:

      $ npm link
      
    5. Set up your IDE:

      From now on, every change in code base will be automatically formatted by Prettier. ESLint shows errors and warnings in VSCode.

    6. Write some code.

    Publishing

    1. Sign in to npm registry with command:

      $ npm adduser
      
    2. Ensure you have the latest version of @knapsack-pro/core in package.json:

      {
        "dependencies": {
          "@knapsack-pro/core": "^x.x.x"
        }
      }
      

      Then run npm install. This way you will be able to test @knapsack-pro/core installed from npm registry instead of local one that was linked with npm link @knapsack-pro/core.

      Now commit updated package.json and package-lock.json.

      $ git commit -am "Update @knapsack-pro/core"
      
    3. Before releasing a new version of package please update CHANGELOG.md with github_changelog_generator:

      $ gem install github_changelog_generator
      
      # generate CHANGELOG.md
      $ github_changelog_generator --user KnapsackPro --project knapsack-pro-cypress
      $ git commit -am "Update CHANGELOG.md"
      $ git push origin master
      
    4. If you have added new files to the repository and they should be part of the released npm package then please ensure they are included in files array in package.json.

    5. If you have changed any headers in README.md please refresh table of contents with:

      $ npm run doctoc
      
    6. Compile project:

      # ensure you use local version of @knapsack-pro/core
      $ npm link @knapsack-pro/core
      
      $ npm run build
      
    7. In order to bump version of the package run below command. It will also create a version commit and tag for the release:

      # bump patch version 0.0.x
      $ npm version patch
      
      # bump minor version 0.x.0
      $ npm version minor
      
    8. Push to git repository created commit and tag:

      $ git push origin master --tags
      
    9. Now when git tag is on Github you can update CHANGELOG.md again.

      $ github_changelog_generator --user KnapsackPro --project knapsack-pro-cypress
      $ git commit -am "Update CHANGELOG.md"
      $ git push origin master
      
    10. Now you can publish package to npm registry:

      $ npm publish
      
    11. Update the latest available library version in TestSuiteClientVersionChecker for the Knapsack Pro API repository.

    Testing

    CI

    If your feature requires code change in @knapsack-pro/core then please push the @knapsack-pro/core to GitHub first. Then you can push changes for @knapsack-pro/cypress to ensure the CI will use the latest @knapsack-pro/core.

    Example Cypress test suite

    To test @knapsack-pro/cypress against real test suite we use forked cypress-example-kitchensink project.

    Install

    npm i @knapsack-pro/cypress

    DownloadsWeekly Downloads

    22,438

    Version

    5.3.1

    License

    MIT

    Unpacked Size

    19.7 kB

    Total Files

    7

    Last publish

    Collaborators

    • shadre
    • arturtrzop
    • rafaltrzop