PHPackages                             qualitycoder/cypress-package - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. qualitycoder/cypress-package

ActiveCypress-package[Testing &amp; Quality](/categories/testing)

qualitycoder/cypress-package
============================

A Cypress package for automating tests in Drupal

v1.0.1(1y ago)18GPL-2.0-or-laterJavaScript

Since Sep 3Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/sidduspec/cypress-for-drupal)[ Packagist](https://packagist.org/packages/qualitycoder/cypress-package)[ RSS](/packages/qualitycoder-cypress-package/feed)WikiDiscussions main Synced yesterday

READMEChangelogDependencies (2)Versions (3)Used By (0)

 [![Specbee Logo](https://camo.githubusercontent.com/cec35dfb193a9242150526da6cbcde1b6f815ade0c5b6274283363ba2f73abb2/68747470733a2f2f7777772e74686564726f7074696d65732e636f6d2f73697465732f74686564726f7074696d65732e636f6d2f66696c65732f7374796c65732f70726f66696c655f6c617267652f7075626c69632f323032312d31322f737065636265652d636f6e73756c74696e672d73657276696365732e706e673f69746f6b3d786d687a69584558)](https://camo.githubusercontent.com/cec35dfb193a9242150526da6cbcde1b6f815ade0c5b6274283363ba2f73abb2/68747470733a2f2f7777772e74686564726f7074696d65732e636f6d2f73697465732f74686564726f7074696d65732e636f6d2f66696c65732f7374796c65732f70726f66696c655f6c617267652f7075626c69632f323032312d31322f737065636265652d636f6e73756c74696e672d73657276696365732e706e673f69746f6b3d786d687a69584558)

 [Documentation](#documentation) | [Reusable Keywords](#reusable-keywords) | [Installation](#installation) | [Rules](#rules) | [FAQ](#faq)

### Web Automation Framework (WAF)

[](#web-automation-framework-waf)

 Fast, easy, and reliable testing for drupal.

---

Introduction
------------

[](#introduction)

Welcome to the Cypress Automation Package for Drupal! This package is designed to streamline and enhance the testing experience for Drupal developers by providing a robust set of custom Cypress commands and pre-configured test cases. With this package, you can efficiently automate end-to-end testing for your Drupal site, ensuring that your application performs as expected across various scenarios.

Installation
------------

[](#installation)

To get started, follow these steps:

1. Install dependencies:
    - `npm install` or `yarn install`

### Running Tests

[](#running-tests)

You can run the tests using either the CLI in headless mode or the Cypress UI.

#### CLI - Headless Mode

[](#cli---headless-mode)

- Development environment: `npm run run:test:dev`
- Production environment: `npm run run:test:prod`
- Staging environment: `npm run run:test:stage`

#### Cypress UI

[](#cypress-ui)

- Development environment: `npm run open:test:dev`
- Production environment: `npm run open:test:prod`
- Staging environment: `npm run open:test:stage`

#### Running Tests with Tags

[](#running-tests-with-tags)

To run tests with specific tags:

1. Update the environment and tags in the `run:test:tags` script:
    - `"cypress run --env configFile=,TAGS=\"\""`
2. Run the tests:
    - `npm run run:test:tags`

Reusable Keywords
-----------------

[](#reusable-keywords)

The Cypress Automation Package for Drupal includes a comprehensive set of reusable keywords (custom commands) designed to facilitate testing within Drupal environments. These keywords simplify test development, improve readability, and ensure maintainability.

### Benefits of Reusable Keywords

[](#benefits-of-reusable-keywords)

- **Simplification**: Reduce complexity in test scripts by using pre-defined keywords that encapsulate common Drupal actions.
- **Readability**: Enhance the readability and understandability of test scripts, making them accessible even to non-technical stakeholders.
- **Maintainability**: Simplify updates and maintenance by modifying the keyword definition in one place, automatically updating all associated test cases.
- **Reusability**: Create modular test cases by combining reusable keywords to cover various test scenarios.

Rules
-----

[](#rules)

### Naming Conventions

[](#naming-conventions)

This repository follows three different naming conventions:

1. **Camel Case `(testUser)`**:

    - Used for variable names in JavaScript files and folder names.
    - Example: Variable naming in a JS file, folder name - Repo name, e.g., `appCV`.
2. **Snake Case `(test_user)`**:

    - Used for naming keys in `.json` files.
    - Example: Mapping field name - `"": "value"`.
3. **Kebab Case `(test-user)`**:

    - Used for naming `.js` and `.feature` files.
    - Example: Feature files - `.feature`, Mapping file - **Only one** `.json` file per repo, e.g., `.json`, Business keyword - **Only one** `.js` file per repo, e.g., `.js`, Keyword - `.js`, API - `.js`.

### Committing Guidelines

[](#committing-guidelines)

- Ensure your branch is up-to-date with `master`.
- Verify that your script runs without issues in both `Staging` and `Production` environments.
- Confirm that your script is placed in the correct folder and follows the appropriate folder structure.

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance53

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 50% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

2

Last Release

668d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/78535805?v=4)[prasannahs](/maintainers/prasannahs)[@prasannahs](https://github.com/prasannahs)

---

Top Contributors

[![prasanna-specbee](https://avatars.githubusercontent.com/u/262271465?v=4)](https://github.com/prasanna-specbee "prasanna-specbee (3 commits)")[![sidduspec](https://avatars.githubusercontent.com/u/67649161?v=4)](https://github.com/sidduspec "sidduspec (3 commits)")

### Embed Badge

![Health badge](/badges/qualitycoder-cypress-package/health.svg)

```
[![Health](https://phpackages.com/badges/qualitycoder-cypress-package/health.svg)](https://phpackages.com/packages/qualitycoder-cypress-package)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.5k10](/packages/helsingborg-stad-municipio)[october/rain

October Rain Library

1601.7M83](/packages/october-rain)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)[vardot/varbase-project

Project template for Varbase distribution.

5362.5k](/packages/vardot-varbase-project)[civicrm/civicrm-drupal-8

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

19251.4k3](/packages/civicrm-civicrm-drupal-8)[pressbooks/pressbooks-book

This theme is named after Canadian media theorist Marshall McLuhan, who coined the phrase “the medium is the message.” It is designed for academic writing and is also suitable for fiction. Headings are set in Cormorant Garamond, and body type is set in Lora.

216.7k](/packages/pressbooks-pressbooks-book)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
