1.1.5 • Published 6 years ago
@wisersolutions/cypress-without v1.1.5
cypress-without
without command for Cypress (https://www.cypress.io) for breaking out of a within inside custom commands
Use
without
Either import and use the command directly as a plain function:
import { without } from '@wisersolutions/cypress-without'
cy.get('.some-container').within(() => {
// ... find elements inside the container only
without(() => {
// ... find elements anywhere (e.g. drop-downs rendered through portals)
})
// ... find more elements just inside the container
})Or register the command with Cypress and chain it off cy:
import '@wisersolutions/cypress-without/lib/register' // best done just once in your support script
cy.get('.some-container').within(() => {
// ... find elements inside the container only
cy.without(() => {
// ... find elements anywhere (e.g. drop-downs rendered through portals)
})
// ... find more elements just inside the container
})Provide { log: false } as the second argument to mute the log output.
absoluteRoot
If you need to chain off the document root rather than perform a one-off action
on it, use absoluteRoot to get the root.
import { absoluteRoot } from '@wisersolutions/cypress-without'
export const getActiveModal = () => absoluteRoot().find('.some-modal:visible')This helper also gets registered as Cypress command when importing …/register (see above).
Development
Install
Install dependencies using:
npm installDevelop
After you modify sources, run the following (or set up your IDE to do it for you):
- format the code using
npm run format - lint it using
npm run lint - test it using
npm test
and fix the errors, if there are any.
Publish
Publishing is done in two steps:
- Create a new version tag and push it to the repository:
npm version <patch|minor|major> git push --follow-tags - Build and publish the new version as a npm package:
npm publish --access public