Accessing Shadow DOM inside a Web Component from Cypress

A Custom Element with a input field placed inside a Shadow DOM:

class ShadowInput extends HTMLElement { 

    constructor() { 
        this.root = this.attachShadow({mode:"open"});

    connectedCallback() { 
        this.root.innerHTML = `
            <input placeholder="something"></input>
can be tested with by accessing the native input field by querying the shadowRoot:

context('the shadow', () => {
    beforeEach(() => {
    it('custom text field', () => {
        cy.get('shadow-input').should(e => { 
        const [dom] = e.get();
        dom.shadowRoot.querySelector('input').value = "hey duke";

See it in action and "from scratch":

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home:


can you give an example of how to test click a radio button and also clicking the submit button on the form?

Posted by Pao on April 07, 2020 at 10:31 PM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
...the last 150 posts
...the last 10 comments