npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

cypress-utils

v3.0.0

Published

Easily parallelize and stress-test your Cypress tests

Downloads

8,094

Readme

Cypress Utils

Easily parallelize and stress-test your Cypress tests

Cypress Utils is a command-line interface for parallelizing and stress-testing your Cypress tests.

To get started, just run npx cypress-utils --help.

Commands

Run tests in parallel

To speed up day-to-day local Cypress test runs (e.g. before committing changes to a branch), multiple Cypress test runners can be ran in parallel. The impact on system resources is surprisingly manageable, even with multiple concurrent runners.

In my unscientific n=1 sample size of running an entire suite, specifying two concurrent test runners provided the best results.

The total elapsed time was reduced by 38% when running a set of 12 tests in two concurrent threads

To run the entire suite in parallel, exclude any additional command-line arguments:

  cypress-utils run-parallel

Use the command-line option excludeSpecPattern to exclude specific files.

  cypress-utils run-parallel --excludeSpecPattern *.hot-update.js	

To run two or more specific test files in parallel, just specify the files to run:

  cypress-utils run-parallel specFileA.cy.js specfileB.cy.js

See more command-line options with cypress-utils run-parallel --help

Example of running tests in parallel:

Example of running the run parallel command

Stress test

To ensure your Cypress tests are not irregularly failing with false-negatives, stress testing new test files can be a reliable way of filtering out bad test code.

To stress test one or more test files, simply specify the files to run:

  cypress-utils stress-test specFileA specfileB

Additional command-line options may be specified, such as the sample size or number of concurrent threads:

 cypress-utils stress-test --trialCount 12 --threads 4

See more command-line options with cypress-utils stress-test --help

Example of stress testing:

Example of running the stress test command

Installation

Install Cypress Utils to your project as a development dependency:

npm install --save-dev cypress-utils

Or run it once with the node package runner:

npx cypress-utils --help

Development Setup

  1. Clone the repository:
git clone https://github.com/trentrand/cypress-utils.git
  1. Install package dependencies:
cd /path/to/cypress-utils
npm install
  1. Make cypress-utils globally executable:
npm link

Cypress Utils are now executable globally with the command cypress-utils.