Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      From Data To Decisions: UX Strategies For Real-Time Dashboards

      September 13, 2025

      Honeycomb launches AI observability suite for developers

      September 13, 2025

      Low-Code vs No-Code Platforms for Node.js: What CTOs Must Know Before Investing

      September 12, 2025

      ServiceNow unveils Zurich AI platform

      September 12, 2025

      DistroWatch Weekly, Issue 1139

      September 14, 2025

      Building personal apps with open source and AI

      September 12, 2025

      What Can We Actually Do With corner-shape?

      September 12, 2025

      Craft, Clarity, and Care: The Story and Work of Mengchu Yao

      September 12, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      Optimizely Mission Control – Part III

      September 14, 2025
      Recent

      Optimizely Mission Control – Part III

      September 14, 2025

      Learning from PHP Log to File Example

      September 13, 2025

      Online EMI Calculator using PHP – Calculate Loan EMI, Interest, and Amortization Schedule

      September 13, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      DistroWatch Weekly, Issue 1139

      September 14, 2025
      Recent

      DistroWatch Weekly, Issue 1139

      September 14, 2025

      sudo vs sudo-rs: What You Need to Know About the Rust Takeover of Classic Sudo Command

      September 14, 2025

      Dmitry — The Deep Magic

      September 13, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Development»Cypress Automation: Tag-Based Parallel Execution with Custom Configuration

    Cypress Automation: Tag-Based Parallel Execution with Custom Configuration

    July 31, 2025

    Custom Parallel Execution Using Tags:

    To enhance the performance of Cypress tests, running them in parallel is a proven approach. While Cypress offers a built-in parallel execution feature, a more flexible and powerful method is tag-based parallel execution using a custom configuration. This method allows to fine-tune which tests are executed concurrently, based on tags in. feature files.

     


    What Is Tag-Based Parallel Execution?

    Tag-based execution filters test scenarios using custom tags (e.g., @login, @checkout) defined in you. feature files. Instead of running all tests or manually selecting files, this method dynamically identifies and runs only the tagged scenarios. It’s particularly useful for CI/CD pipelines and large test suites.

    Key Components:

    This approach uses several cores Node.js modules: 

    • child process – To execute terminal commands. 
    • glob – To search. feature files based on patterns. 
    • fs – To read file content for tag matching. 
    • crypto – To generate unique hashes for port management. 

    Execution Strategy:

    1. Set Tags and Config via Environment Variables:

    You define which tests to run by setting environment variables:

    • TAGS='@db' → runs only tests with @db tag
    • <strong>THREADS=2 → number of parallel threads
    • SPEC='cypress/support/feature/*.feature' → file location pattern
      These variables help dynamically control test selection and concurrency.

    2. Collect All Matching Feature Files:

    Using the glob package, the script searches for all . feature files that match the provided pattern (e.g., *. feature). This gives a complete list of potential test files before filtering by tag.

    3. Filter Feature Files by Tag:

    Each . feature file is opened and scanned using fs.readFileSync(). If it contains the specified tag (like @db or @smoke), it gets added to the list for execution. This ensures only relevant tests run.

    4. Assign Unique Ports for Each File:

    To avoid port conflicts during parallel execution, the script uses crypto.createHash('md5') on the file path + tag combination. A slice of the hash becomes the unique port number. This is crucial when running UI-based tests in parallel.

    5. Run Cypress Tests in Parallel:

    The script spawns multiple Cypress instances using child_process.exec or spawn, one per tagged test file. Each command is built with its own spec file and unique port, and all are run simultaneously using Promises.

    6. Error Handling and Logging:

    If no files match the tag, the script logs a warning and exits cleanly. If any Cypress test fails, the corresponding error is caught, logged, and the overall process exits early to prevent false positives in CI pipelines.

    7. Trigger the Execution from Terminal:

    The full command is triggered from the terminal via a script in package.json:
    "cy:parallel-tag-exec": "cross-env TAGS='@db' THREADS=2 SPEC='cypress/support/feature/*.feature' ts-node parallel-tag-config.ts"

    8. Run the below command:

    npm run cy:parallel-tag-exec

    This executes the full workflow with just one command.


    Complete TypeScript Code

    The code handles the entire logic: matching tags, assigning ports, and running Cypress commands in parallel. Refer to the image below for the full implementation.

    P1

     

    P2

     


    Benefits of This Approach:

    • Greatly reduces overall test runtime.
    • Offers flexibility with test selection using tags.
    • Avoids port conflict issues through dynamic assignment.
    • Works well with CI pipelines and large-scale projects.

     

    Final Thoughts:

    This custom configuration allows you to harness the full power of parallel testing with Cypress in a tag-specific, efficient manner. It’s scalable, highly customizable, and especially suitable for complex projects where targeted test runs are required.

    For more information, you can refer to this website: https://testgrid.io/blog/cypress-parallel-testing/

     

    Similar Approach for Cypress Testing:

    1. Cypress Grep Plugin – https://github.com/cypress-io/cypress-grep
    2. Nx Dev Tools (Monorepo) – https://nx.dev/technologies/test-tools/cypress/api


     

    Source: Read More 

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleWhy Real-Time Voice Translation Is a Game-Changer for Global Contact Centers
    Next Article See Your WordPress Scheduled Tasks (Cron Jobs)

    Related Posts

    Repurposing Protein Folding Models for Generation with Latent Diffusion
    Artificial Intelligence

    Repurposing Protein Folding Models for Generation with Latent Diffusion

    September 14, 2025
    Artificial Intelligence

    Scaling Up Reinforcement Learning for Traffic Smoothing: A 100-AV Highway Deployment

    September 14, 2025
    Leave A Reply Cancel Reply

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

    Continue Reading

    Mastering Gemini CLI Custom Commands

    Web Development

    CVE-2025-3452 – SecuPress Free WordPress Security Plugin Unauthorized Plugin Installation Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    CVE-2025-0082 – Oracle Java Confused Deputy Image Disclosure

    Common Vulnerabilities and Exposures (CVEs)

    zplug is a next-generation plugin manager for zsh

    Linux

    Highlights

    News & Updates

    The Legion Go 2 is very expensive, and fans aren’t happy — Lenovo responds, “… for those looking for a more affordable product, we have the Legion Go S.”

    September 10, 2025

    The Lenovo Legion Go maxes out at $1,349 in the United States, and many aren’t…

    Want to lock in your internet rate for 5 years? Comcast Xfinity has a deal for you

    April 15, 2025

    Automate AIOps with Amazon SageMaker Unified Studio projects, Part 1: Solution architecture

    August 12, 2025

    Are you playing The Elder Scrolls 4: Oblivion Remastered, and if so, what do you think? — Weekend discussion 💬

    April 26, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.