Making test automation with Selenium awesome with xPath Generator

XPath Generator is an API developed in Java which is free and opensource. It helps any test automation enthusiastic people to capture xPaths and other Selenium locators for any given web URL. It will generate the optimised xPath and show how it was derived.


Outline/Structure of the Demonstration

1. Introduction to locating elements the traditional way

2. What is xPath Generator

3. Advantages and what it brings best over other solutions

4. Demonstration

5. Future enhancements

Learning Outcome

  1. Help audience to learn how to work with xPath Generator
  2. Look at how xPaths are created for elements

Target Audience

People who are learning selenium and also people who are involved in test automation

Prerequisites for Attendees

Basic knowledge on Selenium

schedule Submitted 3 years ago

  • Abhijeet Vaikar

    Abhijeet Vaikar - End-end test code as a first class citizen

    45 Mins
    Case Study

    "All tests in today's automated regression run have been marked as Untested. What happened?"

    "No notifications are being sent for test runs on the channel"

    "I pulled latest code, and the framework dependency shows compilation error"

    "What does this new method in the framework do?"

    How often do you hear such things within your team?

    As Quality champions, we need to walk the talk. When we expect our developers to write quality code, write unit tests, build features without introducing bugs, the onus lies on us (as test engineers) to do the same. With almost every test engineering team writing automated tests to check functionality of their products and services, it becomes very important to ensure that the test automation framework and the test scripts are bug-free and follow good standards of software engineering.

    It cannot be stressed enough that test automation code should be as good as production code. In order to build production-quality test automation framework and scripts, a number of steps can be taken at:

    1. Code & System Level

    2. Process & People Level

    Our test engineering team went through a transition from having random & unexpected failing test runs to having greater confidence in the quality of the tests. Learn from this case study of our journey to ensure that end-end UI automated tests are built with quality in mind. We will also see demonstration of some of the use cases.

  • 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.

  • Varuna Srivastava

    Varuna Srivastava / Wim Selles - Build a responsive typescript wdio framework

    90 Mins

    Participate in this workshop to learn how to put together the concepts of a wdio and typescript in a mocha framework that is scalable, robust, easy to read. We will be sharing our real-time experience of how we migrated our testing approach, design and framework when our application was migrating from javascript to a typescript architecture.

    You will leave with your very own example automation framework that demonstrates advanced principles of wdio using typescript automation design. We will integrate with allure reporting.


    Key takeaways:

    1. A robust and scalable framework with the advanced principle for ui testing.
    2. A selection of design patterns for the designing framework.
    3. Concepts in designing your ui automation such as modeling data within your application and componentizing page objects.
    4. A framework which is responsive for web applications.
  • 45 Mins

    Puppeteer is a Node js library (developed by Google Chrome team) to control Chrome and Firefox and is getting lot of traction recently because of its amazing capabilities. It has already become so popular that it has got 50K+ stars on Github against Selenium's 15K+ stars.

    In the last Google I/O event, this tool's capability has been showcased and it has been perceived as the next generation Web Test Automation Tool.

    Is Puppeteer better than Selenium? The answer is 'No', and I will cover 'why' in detail during this talk. I will show some live examples to demonstrate that Selenium can also do all those advance things which Puppeteer promises to do.

  • Martin Schneider

    Martin Schneider / Prabhagharan D K - Building and scaling a virtual Android and iOS device lab

    45 Mins
    Case Study

    Virtual mobile devices (emulators/simulators) are a cost-effective and straightforward alternative to testing on physical devices. We showcase how to set-up and scale an Android emulator farm using Appium, Docker and SQS and how it fits into our larger testing and quality strategy.
    Maintaining physical test devices for mobile automation can be expensive and time-consuming. On top of the initial investment, you need to consider maintenance cost, replacement devices and efforts for manual scaling. On the other side of the spectrum, cloud providers take care of these restrictions, but their services can come at a hefty price tag, especially when your use-case requires a large number of devices. We present a middle path and demonstrate how to use virtual devices to build a reliable and scalable in-house device lab using Docker and Appium.

  • Varuna Srivastava

    Varuna Srivastava - Beyond Performance using Taurus

    45 Mins

    Through discussion, group dynamics and knowledge sharing, Varuna Srivastava, Lead Quality Analyst of ThoughtWorks will facilitate exchanging ideas regarding, how to plan, where to start, how to build the performance script using Taurus.

    This talk will walk through on optimizing performance scripts of API's using Taurus. Demo to learn how to write and run test automation using Taurus. We will walk through our journey of writing script for an enterprise application and how it helped in accounting the bottlenecks of APIs during the sprint