We all love the tagline - Selenium automates browsers. Selenium provides self sufficient APIs for automating any user workflow exactly like an end user does. But as a automation engineer we see both side of the coin together. There is nothing simpler than selenium to interact with browser but same time selenium comes with a set of prerequisite before doing what exactly we want. Locator lookup strategy, page rendering frequency, event triggering and last but not least the wait context are some of those challenges we face in day to day basis while automating our apps. Other than that most of the latest UI frameworks comes with different set of UI controls which are sometime challenging to interact with only using selenium. In this workshop I would like to target fixing few of those issues by using the UI framework internals of application under test. Some specific use cases I will be sharing as part of this workshop are are as follows:
- Performing actions directly using ui framework objects/APIs
- Handling dynamic ids
- Automating charts/graphs rendered in a canvas element
For demonstration purpose I would limit the scope of this workshop to three web UI frameworks - AngularJs, ExtJs and ReactJs and see how we can use application framework internals to fix issues high lighted above along with selenium.