Virender will be presenting the following session
filter_list help_outline
  • Virender Singh

    Virender Singh - Rise of Shadow DOM - Lets solve it through WebDriver

    45 Mins

    Shadow DOM is kind of web standard that developers use to encapsulate their custom HTML code and style components so that no other global style components can override their code. It ensures that a component will work in any environment, even if other CSS or JavaScript is run on the page i.e. Shadow DOM hides away the complexity of the components from the rest of the page because it renders separately from main DOM.

    Selenium legacy selectors are not able to interact these custom elements under the shadow DOM so we need java script to interact with shadow DOM elements and we also require JavascriptExecutor interface for their execution.

    We will also talk about the WebdriverIO tool v5.5.0, which implicitly support Shadow DOM elements.

1. What got you started/interested in Testing?

Frankly, I got into the testing field not really by choice. But once I started, there is no fall-back. Even after 14 years in this field, there is still a lot to learn and contribute to. And this learning curve expanding day by day, that seems endless...


2. What has been your best moment/highlight working with Selenium?

Testing shadow DOM-based application by using Selenium as well as WebDriverIO has been a huge success.


3. What do you think is the biggest challenge faced by Software Testers today?

1. Automation framework/scripts stability, reliability and trade-off of what to automate and what not to.
2. Service-based Organizations focuses on delivery rather than testing best practices as well as thoughtful development. They even do not care about the pyramid of automation testing i.e. Unit Tests > API Tests > Integration Tests > End-End Automated test > Exploratory Tests.


4. What is your advice to testers, who are new to automation?

Always focus on logic to code better. Test automation mindset contains developer's knowledge and QA's domain expertise. In the absence of any one of these aspects means you will not be able to add enough value to the time spent in Automation.


5. Tell us about the session(s) you will be presenting at the conference and why did you choose those topics?

In this session, I will present how the shadow DOM is different from the main DOM and how it renders in quarantined mode. And what is the structure of shadow DOM and how it is different from the main DOM. After that, I will be covering the challenges faced by the test automation engineers while automating the shadow DOM with Selenium. And in the last, I will cover up the internal shadow DOM automation support by WebDriverIO.

I have chosen this topic because when I faced that problem, none of my friends could really help me. At that point in time if I struggled to find the solution for this problem, then it is my obligation to not let anyone else struggle. And I am confident that this is really new to most of the test automation engineers, and Selenium conference is the biggest platform for the test automation community to share new things. So I am pretty sure that after this session the whole community would be able to sort out this problem.


6. What are some of the key takeaways from your session(s)?

After this session, All attendees would be able to get insights about shadow DOM-based apps automation and clear following doubts:

1. Why shadow DOM is so important that they can not achieve something by using only normal DOM?
2. Which technology uses shadow DOM mechanism e.g. Polymer?
3. How is the shadow DOM different from the main DOM?
4. Why does shadow DOM render in quarantined mode?
5. What is the structure of shadow DOM and how it is different from the main DOM?
6. What are the challenges faced by the test automation engineers while automating the shadow DOM?
7. What is the Selenium approach to automate shadow DOM?
8. What is the WebDriverIO approach to automate shadow DOM  internally? 

7. Which sessions are you most looking forward to attending at Selenium Conf?

The Selenium conference 2020 is an eternal ocean of knowledge where every session is informative and I wish to gain every ounce of that knowledge. There are so many interesting topics - which are applicable to all experience levels. Addition to that - networking/PRs with all the dynamic global speakers will be an amazing learning experience. Though it is very tough, still highlighting some sessions that I am very eager to participate and learn from are:

Zachary Attas - Selenium For All - Setting Your Team Up For Success So Anyone Can Understand and Write Tests,
David Burns - Selenium: Giblets and all,
Harinee Muralinath - Building Security into your Continuous Delivery pipelines,
Syam Sasi - When Ansible meets Selenium Grid - Story of building a stable local iOS simulator farm,
Narayan Raman - A Tale of Two Automation Tools,
Krishnan Mahadevan - My experiments with Grid,
Vinayaka Mayura G G - Search Relevancy Testing: QA in Machine Learning Models,
Tarun Maini - LifeCycle of Testing AI/ML Applications.

8. Any personal message/remarks you want to share with the Testing community in Asia?

The testing community in India is intensely bright. They already improving their automation skills and always eager to learn new stuff. We have to be more aggressive to share our knowledge through different mediums say Selenium/Appium global conferences, local meetups, writing blogs for any problem statement and organizational internal technical sessions etc. The Selenium Conference 2020 is a big platform - let's make the best of this opportunity.