Multi-Level Shadow DOM Automation Plugin FREE

You can use this plugin to automate all the shadow root elements on Web UI. This plugin supports multi-level shadow-root object identification with simple cssSelector. This plugin provides custom keywords for almost all UI actions and functions.

738

Problem Statement:

You have already developed your web-based automation framework in Katalon Groovy. Your frontend application uses Polymer that uses shadow dom. Katalon doesn't provide any way to deal with multi level shadow-dom elements. Your application page contains custom HTML tags that is not always easy to be identified directly using Katalon.

Solution:

You can use this Katalon Keyword Plugin by importing jar file or by installing plugin from Katalon Plugin store in your project.

How it works:

Methods:

WebElement findElement(String cssSelector) : use this method if want single element from DOM

List<WebElement> findElements(String cssSelector) : use this if you want to find all elements from DOM

WebElement findElementInsideParent(WebElement parent, String cssSelector) : use this if you want to find a single elements from parent object DOM

List<WebElement> findElementsInsideParent(WebElement parent, String cssSelector) : use this if you want to find all elements from parent object DOM

WebElement getShadowElement(WebElement parent,String selector) : use this if you want to find a single element from parent DOM

List<WebElement> getAllShadowElement(WebElement parent,String selector) : use this if you want to find all elements from parent DOM

WebElement getParentElement(WebElement element) : use this to get the parent element if web element.

List<WebElement> getChildElements(WebElement parent) : use this to get all the child elements of parent element.

List<WebElement> getSiblingElements(WebElement element) : use this to get all adjacent (sibling) elements.

WebElement getSiblingElement(WebElement element, String selector) : use this to get adjacent(sibling) element using css selector.

WebElement getNextSiblingElement(WebElement element) : use this to get next adjacent(sibling) element.

WebElement getPreviousSiblingElement(WebElement element) : use this to get previous adjacent(sibling) element..

boolean isVisible(WebElement element) : use this if you want to find visibility of element

boolean isChecked(WebElement element) : use this if you want to check if checkbox is selected

boolean isDisabled(WebElement element) : use this if you want to check if element is disabled

String getAttribute(WebElement element,String attribute) : use this if you want to get attribute like aria-selected and other custom attributes of elements.

void selectCheckbox(String label) : use this to select checkbox element using label.

void selectCheckbox(WebElement parentElement, String label) : use this to select checkbox element using label.

void selectRadio(String label) : use this to select radio element using label.

void selectRadio(WebElement parentElement, String label) : use this to select radio element from parent DOM using label.

void selectDropdown(String label) : use this to select dropdown list item using label (use this if only one dropdown is present or loaded on UI).

void selectDropdown(WebElement parentElement, String label) : use this to select dropdown list item from parent DOM using label.

void scrollTo(WebElement element) : use this to scroll to web element.

How to use this plugin:

You will have to install Katalon Plugin in your Katalon IDE.

Use sample project Github

Visit Katalon Forum for Plugin related discussions.

1.0
2 Rating(s)
June 28, 2023

555

casey-matthews
June 15, 2021

This plugin has merit, but has not been maintained and no longer works. I personally verified that it no longer works on Katalon Studio version 8 and I have read elsewhere that it did not work on version 7 either. At the time of writing this comment, this project was last updated on December 21, 2019.

API keys are required in Katalon Studio Commandline Execution. Generate Key
Information
Project details
Version
0.1.1
Type
Custom Keywords Plugin
Last updated
December 21, 2019 7:59 am
Publisher
Privacy and License Agreement