Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →You can use Gherkin feature files in a Cypress suite with the community-maintained @badeball/cypress-cucumber-preprocessor. First configure and verify the plugin locally; then run that working Cypress project on HyperExecute using HyperExecute’s current Cypress-specific runner command and YAML settings. Those vendor-specific details are not established here, so this guide does not invent configuration keys or present Java/TestNG settings as Cypress instructions.
What the Cucumber preprocessor does
Cypress describes a preprocessor as “the plugin responsible for preparing a support file or a test file for the browser” (Cypress Documentation, Preprocessors API). The community package @badeball/cypress-cucumber-preprocessor lets Cypress run specs written in Cucumber/Gherkin syntax. It is not a replacement for Cypress: it connects feature files and step definitions to Cypress’s test execution.
As an Amazon Associate I earn from qualifying purchases.
Cypress’s plugin catalog showed package version 28.0.0, updated September 2026, and listed compatibility with Cypress ^13.0.0, ^14.0.0, selected 15.16 through 15.18 releases, and ^16.0.0 (Cypress Plugins catalog). Check the package’s maintained README and the peer requirements for the exact versions in your project before installing or upgrading; a catalog range is not a substitute for checking your installed dependency combination.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Set up and validate the plugin locally first
Use the package’s current maintained instructions for installation, feature-file discovery, step-definition lookup, and any bundler integration. The Cypress event API documents where a file preprocessor connects, but does not establish this package’s exact setup function, bundler choice, or configuration snippet. For that reason, use the package README’s current example rather than copying a generic or outdated plugin call.
#1 Best Overall
- Check versions. Record your installed Cypress version and compare it with the preprocessor’s current peer requirements and documented compatibility.
- Follow the package setup. Install and configure
@badeball/cypress-cucumber-preprocessorexactly as its maintained documentation specifies, including feature discovery and step-definition organization. - Match the config module format. Use the repository’s actual ESM or CommonJS format for
cypress.config.*. Since Cypress 15.17.0, Cypress determines the config module system before execution using Node.js module rules and does not fall back to the other format if loading fails (Cypress Configuration). - Run one feature locally. Confirm Cypress discovers the intended
.featurefile, resolves its steps, and executes it before broadening the suite or moving the run to a cloud runner.
Where Cypress preprocessing connects
Cypress exposes its file-preprocessing extension point as the file:preprocessor event registered from setupNodeEvents in the Cypress configuration. The event API describes the contract: the handler receives a source file, processes it, writes the result, and resolves with the output file path when that file is ready for Cypress to serve to the browser (Cypress Documentation, Preprocessors API).
That contract matters when configuring a third-party preprocessor. Do not resolve with an output path before the generated file has been written. Cypress can invoke the handler more than once for a source path; implementations should avoid starting a new watcher on every invocation and clean up watchers on the file’s close event where appropriate. The event API explains the connection point and lifecycle expectations, not the Cucumber package’s particular registration code.
Rank #2
If your package setup uses a third-party bundler, check its source-map instructions as well. Cypress notes that bundler source-map configuration can affect debugging and code frames; the Cucumber/esbuild guidance describes prettySourceMaps as experimental and buggy. Treat that option as a documented caveat, not a default fix.
Adapt WebDriver step definitions for Cypress
Existing Gherkin feature files can usually remain largely unchanged when moving to Cypress with the community Cucumber package. The migration work is mainly in step definitions: replace WebDriver interactions with Cypress commands and assertions (Cypress migration guide: Selenium to Cypress).
Rank #3
For example, Cypress’s migration guidance illustrates visiting a page with cy.visit('/') and checking a search field with cy.get('input[type="search"]').should('be.visible'). Apply the equivalent Cypress commands inside the step definitions identified by your package setup. Do not assume WebDriver APIs, asynchronous patterns, or runner configuration carry over unchanged merely because the feature text is reusable.
Run the working Cypress project on HyperExecute
HyperExecute is presented by LambdaTest as a cloud test-execution platform (LambdaTest HyperExecute). The available HyperExecute vendor material does not establish a current Cypress-specific YAML schema or runner command for a Cypress project using this Cucumber preprocessor. Consequently, there is no responsible copy-paste HyperExecute YAML block to provide here.
Rank #4
- Finish the package configuration and prove that Cypress discovers and runs a small feature locally.
- Consult the current official HyperExecute Cypress documentation or your current account documentation for the Cypress project runner command and YAML keys.
- Set test discovery, runtime or browser environment, and report collection only with settings documented for Cypress on HyperExecute.
- Run a single feature as a smoke test in HyperExecute, inspect the runner output and reports, then expand discovery to the rest of the suite.
HyperExecute examples for TestNG do not establish Cypress settings. In particular, do not transplant Java/TestNG framework identifiers, Maven commands, feature-path keys, or tag-filter syntax into a Cypress configuration without a current Cypress-specific source.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesTroubleshoot common setup failures
- The config fails before tests start: Check whether the project uses ESM or CommonJS and whether
cypress.config.*matches that module setup. Cypress 15.17.0 and later does not retry loading a failing config as the other module format. - Cypress cannot find a feature or its step: Recheck the package’s documented feature and step-definition discovery settings, then run the smallest feature locally. The Cypress event API alone does not configure Cucumber discovery.
- A preprocessed spec is missing or incomplete: Ensure the preprocessor writes the output before resolving the promise with its path. Review watcher reuse and cleanup if repeated invocations cause duplicate work or stale output.
- Debugging output lacks useful source context: Review the bundler’s source-map configuration against Cypress’s preprocessor guidance. Do not rely on the experimental
prettySourceMapsoption as a proven remedy; its Cucumber/esbuild guidance describes it as buggy. - The local run works but HyperExecute does not: Verify the current Cypress-specific runner command, YAML schema, discovery, runtime, and report settings in official HyperExecute documentation. Java/TestNG examples are not evidence for a Cypress runner configuration.
Or skip the browser setup
This article is about Cypress test execution, not capturing website screenshots, so ScreenshotNeo does not replace Cypress, the Cucumber preprocessor, or HyperExecute. If your workflow separately needs a screenshot of a page, ScreenshotNeo is a website screenshot API and MCP server for developers: one GET request can return a PNG, JPEG, WebP, or PDF. Before capture it accepts consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers identify the page verdict and billing status. AI agents can use its MCP server tools, including take_screenshot, get_page_info, and capture_pdf. The free plan includes 1,000 screenshots a month without a card; paid plans start at $5 for 3,000.
Example request for a screenshot of https://stripe.com:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for request options. ScreenshotNeo is available at sign up free for 1,000 screenshots a month with no card.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




