Let Your Precious Time Be Optimized While Automating

Automation is now preferred the most, precisely in the agile environment as it saves a lot of time. But wouldn’t it be a privilege to save some few more time by locating the web elements? Writing automation script swill reduces the time in terms of regression testing, but generating the XPath and even an entire code statement will surely add a lot to the automation scripting.

My personal opinion about automation is that automation isn’t pure automation if most of the works are done manually with a hectic routine and having a high chance of erroneous XPath. Even the task itself will kill tonnes of time, right-click – inspect the element and writing the XPath in the DOM would take a lot of time.

As an automation tester, finding the locators and XPath are vital for test automation and one of the most used. But doing this iteratively for an entire day wouldn’t be interesting, Ruto does this sleek, not within seconds but in milliseconds. Opening the DOM and typing the XPath is time-consuming but writing the entire statement with few clicks will save a lot of time.

Ruto is free extension that is used to find XPath for test automation, the tool makes finding elements easy in the DOM along with that it provides code snippets based on the action that need to be perform on that element. To store the found element Ruto automatically suggests a variable name from the user’s perspective along with its return type. The user will be informed if the element is located inside a frame/iframe, Ruto also provides a whole set of elements from a web page as snippets. Apart from this, we’ve added one additional feature (experimental) to support Page Object Model.

XPath supported by Ruto:

  • Supports dynamic XPath
  • Axes based XPath can be achieved with Ruto by adding the web elements as source and target
  • Ruto can be solely used to handle web table
  • Provide multiple XPath at a time for an element

Outline/Structure of the Case Study

  • Making the test automation faster than before
  • To simplify the automation scripting with auto-generated codes.
  • Techniques that are implemented in the application.
  • Demonstration with real-time scenarios

Learning Outcome

  • Overcome writing XPaths to find elements in the applications.
  • Dynamic (Parent to child) XPaths are a couple clicks away.
  • No need to check whether an element is located inside a frame.
  • Can customize the auto-generated code according to your framework.

Target Audience

QA / Automation Testers, SDETs, and Frontend developers.

Prerequisites for Attendees

  • Should have a basic knowledge of DOM
schedule Submitted 11 months ago

Public Feedback

    • Sanjay Kumar
      Sanjay Kumar
      ChroPath Creator
      schedule 1 year ago
      Sold Out!
      45 Mins
      Case Study
      • Want to save 70-80% manual effort of automation script writing!!
      • Wasting time in verifying xpath one by one?
      • Want to complete automation script without wasting much time?
      • Are you still wasting time in writing english manual test cases?
    • Babu Narayanan Manickam

      Babu Narayanan Manickam - Deep Learning Based Selenium Test Failure-triage Classification Systems

      45 Mins

      Problem Statement:

      While running thousands of automated test scripts on every nightly test schedule, we see a mixed test result of pass and failures. The problem begins when there is a heap of failed tests, we caught in the test-automation trap: unable to complete the test-failure triage from a preceding automated test run before the next testable build was released.

      Deep Learning Model:

      The classification was achieved by introducing Machine Learning in the initial months and followed by Deep Learning algorithms into our Selenium, Appium automation tests. Our major classification was based on the failed test cases: Script, Data, Environment, and Application Under Test and that internally had hundreds of sub-classifications.

      To overcome this problem, we started to build and train an AI using Deep Learning, which simulates a human to categorize the test case result suite. Based on the test result failure for each test, the AI model would predict an outcome through API, categorizes and prioritize on the scale of 0 to 1. Based on the prediction model, the algorithm takes appropriate response actions on those test cases that are failed like re-run test again or run for different capabilities. We kick-started this by gathering the historical data set of 1.6 million records, which was collected over a 12 months period, data including the behavior of the test case execution and the resulting suite.

      This Deep Learning-based algorithm has been provided the quality to break down the new defects based on its category, and a classification score is given on a scale of 0-1. We’ve also established a cutoff threshold based on its accuracy of improving, and to group the failed test cases based on its similarity. Classification of the test cases is done in high granularity for sophisticated analysis, and our statistical report states that the classification of the defects has been increased with 87% accuracy over a year. The system has been built based on the feedback adapting models, where for each right classification it will be rewarded and for the wrong, a penalty is given. So whenever receiving a penalty the system will automatically enhance itself for the next execution.

      The algorithm has a powerful model for detecting false-positive test results calculated using the snapshot comparisons, test steps count, script execution time and the log messages. Also, the model has been built with other features like – duplicate failure detection, re-try algorithms and defect logging API, etc.

      The entire classification system has been packaged and deployed in the cloud where it can be used as a REST service. The application has been built with its own reinforcement learning where it uses the classification score to enhance itself and this is programmed to perform in an inconclusive range.

      In sum, this deep learning solution can assist all Selenium testers to classify their test results in no-time and can assist to take next steps automatically and allow team could focus its efforts on new test failures.

      Link: https://github.com/testleaf-software/reinforced-selenium-test-execution