How AI can help accelerate testing
AI can beat humans at Chess & Go, drive a car more safely than you, identify cat videos better than any human; soon AI will help test code better than humans too. Working at companies like test.ai & Google, Chris has explored the intricacies of building AI to help test dynamic websites and apps that are constantly changing. He will show how these lessons learned are now being brought to the larger community in a plug and play way.
Outline/Structure of the Talk
- Problem locally and at scale [4min]
- Using AI to backup selectors [4 min]
- Using AI to write quick automation [3 min]
- How it works under the hood [6 min]
- Q&A [3 min]
Learning Outcome
How to add AI to your automation in 5 minutes.
Target Audience
Selenium Developers
Prerequisites for Attendees
Have experience dealing with broken selectors.
Links
SDK we develop to integrate into Selenium: https://dev-tools.ai/docs/category/tutorial---selenium
Past talk about adding general AI to selenium & appium: https://www.youtube.com/watch?v=3YLxZfZHnPg
schedule Submitted 1 year ago
People who liked this proposal, also liked:
-
keyboard_arrow_down
Diego Molina - Fix a Bug, Become a Committer
480 Mins
Workshop
Beginner
Have you ever wondered how you can contribute to the Selenium project and become part of the team?
Do you wonder how the different Selenium projects work under the covers?
Selenium is a set of solutions that enables you to automate all major browsers with WebDriver, scale up and run tests in parallel through the Grid, record and play back user interactions with the IDE, and share all this knowledge though the Selenium website and documentation.
However, only a handful of volunteers work to maintain this gigantic effort. If you would like to enhance your own Selenium experience while contributing back to the software that has defined so many of our careers, come to this workshop. In it we'll dissect the different elements of Selenium, dive into its internals, learn how it was built and how to make changes to it, and even fix or improve something that you can contribute on the same day!
-
keyboard_arrow_down
Robin Gupta - TestZeus: Open source UI automation framework built specifically for Salesforce with Auto-locators
45 Mins
Demonstration
Beginner
Automation for Salesforce is tough (no , seriously). And every platform release brings the lightning and thunder for UI Automation tests (Winter21 caused even our tests to shiver). So we present TestZeus to end this madness and create a simple (and robust) Open source framework for Salesforce Test Automation. And solve the problem of flaky tests, while accelerating the development of automation .
-
keyboard_arrow_down
David Burns - Working in the Shadow (DOM) - How to test Web Components
45 Mins
Talk
Beginner
As Web Components gain more traction in the web to help websites become more performant it has created a bit of a blind spot on how to test these new features.
In this talk, David will walk you through what Web Components are and how they are benefiting the web as we move forward. He will then walk you through how we can go about testing these and how, while well-meaning, other frameworks are making things a little harder to test. He will also go through some of the performance aspects of the Web Components and how this translates to your tests.
-
keyboard_arrow_down
Puja Chiman Jagani - Selenium has a new trick up its sleeve to track failures
45 Mins
Talk
Beginner
As our systems and tests grow more and more complex we need to make sure that we have the tools to capture the root causes without spending hours or days chasing them down. This is where Observability becomes our best friend. Observability allows us to see what is going on inside a system based on what we think is crucial without trawling through logs! Just like any piece of software should be robust, scalable, maintainable, and reliable, it should also be observable. Observability makes the journey from identifying unexpected problems to identifying the root cause easier.
To do so, the code should record as much useful granular information as possible. Metrics, logs, and traces are three known ways of encapsulating granular information. They are the primary sources of information to help determine the state of the system at any given point in time.
Selenium 4 introduced a fully distributed Grid with multiple components that communicate over the network. Troubleshooting and diagnosing problems in this setup is a challenge. To tackle this, Selenium integrated OpenTelemetry’s tracing and event logs. This feature is now available out of the box by default when using Selenium.
The users now have more power in their hands!I will dive into Selenium's observability journey by discussing:
-
What is observability?
-
Need for observability
-
Understanding the three pillars of observability: Metrics, Logging, and Tracing
-
Generating telemetry data alone does not suffice. It is a process from design to deployment.
-
Full-stack tracing in Selenium (Grid and Java client library)
-
Explain how we, at BrowserStack, are benefiting and exposing this information to our users.
-
-
keyboard_arrow_down
Chandrakanth Donagar - Instant Selenium Cucumber Automation using AI
45 Mins
Case Study
Beginner
Problem Statement:
On usual procedure we need to write the step definition and data storage classes wrt PM model. For each of the feature steps we need to map that to relative stepdefinition i.e method which performs action.
This eventually manual and time consuming effort.
Solution is to automate cucumber test script generation using NLP technique. Tensor flow uses features files and converts the features files to required step definition methods(Java).Separate set of classes will be generated as per the application UI pages. Object repository will be created dynamically when user supplies the steps in feature file.
Tool scans the html page and retrieves all required locators using intelligent locators generating strategy(to achieve this we need to supply strong data as part of feature files)
This eventually leads to no code automation using cucumber with web driver.