cypress-skip-and-only-ui is a Cypress plugin that enhances the Cypress Test Runner UI by adding client-side buttons to `it` and `describe` blocks. These buttons allow developers to dynamically mark individual tests or test suites to run in isolation (`.only`) or to be skipped (`.skip`) directly from the browser interface, without modifying the test code. This provides a convenient way to focus on specific tests during development or debugging sessions. The package is currently stable at version 1.2.19, with releases occurring irregularly, primarily addressing compatibility with newer Cypress versions and updating internal dependencies like React. Its key differentiator is the direct UI integration for test isolation, offering an alternative to manually adding or removing `.only`/`.skip` modifiers in test files, which can be prone to accidental commits.
npm install cypress-skip-and-only-uiVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to install and configure `cypress-skip-and-only-ui` by adding the support file import and registering the necessary Node.js tasks within your `cypress.config.ts` or `cypress.config.js`.
Ensure your `cypress-skip-and-only-ui` version is compatible with your installed Cypress version. Update `cypress-skip-and-only-ui` to the latest version if experiencing issues after a Cypress upgrade.
Verify that both the support file import is present in your `cypress/support` file and the tasks are registered in your `cypress.config.js|ts`.
Carefully review your `setupNodeEvents` function to confirm that `skipAndOnlyUiTasks` are merged without conflicts with any other task definitions.
Add `on('task', skipAndOnlyUiTasks)` to your `setupNodeEvents` function in `cypress.config.js|ts`.Run `npm install -D cypress-skip-and-only-ui` (or `yarn add -D cypress-skip-and-only-ui`). Verify the import path `import 'cypress-skip-and-only-ui/support';` is exactly as specified.
Ensure your `cypress.config.js|ts` file uses `export default defineConfig({ e2e: { setupNodeEvents(on, config) { ... } } });` structure and that `on` is passed to your task registration correctly.