🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

@jahia/cypress

Package Overview
Dependencies
Maintainers
4
Versions
90
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jahia/cypress

6.0.0
latest
npm
Version published
Weekly downloads
1.3K
-13.32%
Maintainers
4
Weekly downloads
 
Created
Source
Jahia logo

@jahia/cypress

Commands

.apollo()

.apolloClient()

.runProvisioningScript()

.executeGroovy()

.login()

.logout()

.repeatUntil()

Page / component objects

In Page Object Model, a set of object is provided to handle known and reused web elements. These page objects provide method to handle interactions with these web elements. Web elements can be simple HTML elements, more complex UI components or full pages.

This framework does not come with predefined page objects, as they should be provided by the modules which define them. TODO: Moonstone page object are defined here, but could be moved to moonstone

Implementation

Components

Page object representing a component extends baseComponent. Creating a page object will enqueue a command looking for the corresponding DOM element. An alias to this element will be stored in the object.

Page object can provide accessors to other page object, and methods that will enqueue other cypress commands and assertions.

moonstone

Pages

Page object representing an HTML page extends basePage. They can provide a static visit() method to open the page, and returns an instance of the page object. Constructor can initialize components that are present in the page. This will assert that these components are present, and make them available for the tests.

jcontent.md

Sample usage

const primaryNav = new PrimaryNav()  // Look for primary nav elements 
primaryNav.listItems().expect('...') // Check primary nav content
primaryNav.select('jcontent')        // Select the corresponding item and click on it
let jcontent = JContent.visit("digitall", "en", "pages");
jcontent.select('content-folders')
const m = jcontent.getTable().getRow(1).contextMenu()
m.select('edit')

Configure

Add @jahia/cypress to your project.

Add cypress commands and support : in support/index.js, adds :

require('@jahia/cypress/dist/support/registerSupport').registerSupport()

Add typings in your tsconfig.json :

{
  "types": [
    "@jahia/cypress"
  ]
}

This project provides a plugin for settings environment variable based on system env ( JAHIA_URL and SUPER_USER_PASSWORD )

Set up your plugins: in plugins/index.js, calls the module in @jahia/cypress/dist/plugins/registerPlugins :

module.exports = (on, config) => {
    require('@jahia/cypress/dist/plugins/registerPlugins').registerPlugins(on, config)
    
    // register other plugins
    
    return config;
};

Open-Source

This is an Open-Source codebase, you can find more details about Open-Source @ Jahia in this repository

How to release

Ensure and eventually change the version in package.json to match the version to release.

From Github release panel, draft a new release with a tag named vX.Y.Z and a title vX.Y.Z. The release will be published to NPM automatically.

FAQs

Package last updated on 24 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts