Deep dive into Selenium 4 architecture and features
Selenium 4 boasts new and exciting features as well as a redesigned architecture. The architectural changes help modernize Selenium, while new features will give you many unique advantages such as increased productivity, reduced complexity, and superpowers with access to the Chrome DevTools Protocol (CDP)!
Come learn all about what's new and how to put it to use.
Outline/Structure of the Demonstration
First 25 minutes:
- W3C WebDriver protocol
- New architecture
- New features
- Chrome DevTools Protocol (CDP) vs BiDirectional (BiDi) API
- How to get started with Selenium 4
- Selenium 4 commonly asked questions
Next 10 minutes:
- CDP demo
- BiDi demo
Last 10 minutes:
- Key takeaways
- Q&A session
Learning Outcome
You will learn all you need to know to get started with Selenium 4 and how to use many of its new powerful features.
Target Audience
This talk is great for those who want to learn what is new in Selenium 4. It is also intended for those that want to learn how to start using some of the new features.
Prerequisites for Attendees
It is recommended that participants have some familiarity with features in Selenium 3, but it is not required.
Video
Links
schedule Submitted 1 year ago
People who liked this proposal, also liked:
-
keyboard_arrow_down
Sai Krishna / Srinivasan Sekar - Advanced Appium 2.0
Sai KrishnaLead ConsultantThoughtworksSrinivasan SekarLead ConsultantThoughtWorksschedule 1 year ago
480 Mins
Workshop
Advanced
At this workshop, you'll learn about advanced concepts in Appium. We will learn how to write a single script for Android, iOS, and mobile web apps. Once our tests are established, we will work on the framework design and report. We will also have a detailed look at how can we automate various mobile gestures using Actions API and mobile endpoints in Appium. The workshop will be based on the latest Appium's Java Client.
-
keyboard_arrow_down
Srinivasan Sekar / Sai Krishna - Build your own Appium 2.0 Driver
Srinivasan SekarLead ConsultantThoughtWorksSai KrishnaLead ConsultantThoughtworksschedule 1 year ago
45 Mins
Case Study
Beginner
What if you had to create a custom driver for your use case in your project and with Appium 1.0 it was not possible without making any code changes to the actual appium code base. This would lead us to maintain a fork and make our required changes. Which in turn is overkill as we have to always keep up with upstream.
With Appium 2.0 architecture we can create drivers and plugins for our unique needs. At this talk, we will talk about Appium 2.0 architecture, how to make custom Appium drivers and what other breaking changes we brought in Appium 2.0.
-
keyboard_arrow_down
Gaurav Singh - Hello Espresso! Start with Android Gray box automation
90 Mins
Tutorial
Beginner
TL;DR Summary
- Espresso is a powerful UI automation framework for the Android platform that offers gray box automation capabilities and has a simple, concise, and rich API.
- Onboarding to use espresso can however sometimes take time. In this talk, I will explain how to get started with Espresso in the shortest time possible and we’ll look at some recipes on how to automate common app scenarios with espresso API.
Abstract
- It’s 2022 and most businesses these days are mobile-first with a presence on major platforms. UI automation is a critical part of the testing strategy of businesses looking to release high-quality apps with confidence. While unit testing is a much wider adopted practice, writing scalable UI automation is often a challenge due to its higher fidelity.
- Espresso is the dominant UI automation library for android from Google that provides a rich and concise API to test your android app's UI with confidence without sacrificing reliability and with minimal flakiness due to amazing integration with underlying instrumentation.
- For an n00b engineer approaching their first Espresso test, it could be especially tough to wrap your head around its idioms and android context and get set up quickly.
- Well, In this talk:
- we’ll solve for that exact persona and provide a quick understanding of an espresso test structure
- Follow up by diving deeper into its API
- Discuss different ready to use recipes that developers could use to solve some common use cases with mobile UI automation
- Provide a boilerplate framework
- I'll share Github repo links that have app source code along with their Espresso UI tests to follow along or revisit later.
-
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
Matthias Zax - DevSecOps on steroids - Powered by your Selenium tests
45 Mins
Talk
Beginner
Continuous Security testing is becoming more and more a key factor for success. Especially if we consider that the development and release process is speeding up enormously. Just imagine that your potential shippable product is going to production with a huge vulnerability or a back door open. The damage to your company and bad reputation would be even not measurable.
So how can we avoid this? How can we build- security -in? Let's leave the stone age behind, break down the security silo and implement DevSecOps.
During my talk, I will tell you where you can implement and improve security testing. What different kinds of functional and non-function security testing methods are available and what are the low-hanging fruits.
On a high level, I will explain SAST / DAST / IAST / RASP and how your team could implement these methods with examples. I present how you can use your existing selenium scripts to drive OWASP ZAP and get more out of it!
Then I will lift it to the next level and show how you can add security testing to your pipeline to get fast feedback to fix the vulnerabilities at a very early stage (shift left). By showing where to implement security tests in your software development lifecycle, I will explain where it makes sense to have security as a deep skill part of your team and go for DevSecOps!After I increased our transparency of security and showed you how to deal with "the four fists", I will close my talk by presenting the 10 successful steps to DevSecOps.
-
keyboard_arrow_down
Andrei Solntsev - Extending open-source libraries on the example of Selenide & Selenium
45 Mins
Talk
Advanced
You use lots of open-source libraries, but do you know how to customize every single piece of their behaviour?
How to make every piece of your software customizable?
When I had to implement plugins in Selenide, I didn't find any good materials on this topic, and started investigating how other popular libraries do. In this presentation, I will show the results of my research.
-
keyboard_arrow_down
Marco Cruz - 5 Traits That All Top-performing Automation Engineers Have
20 Mins
Talk
Beginner
Nowadays, almost anyone can learn how to code and use test automation tools. Better yet, codeless solutions are continually lowering the barrier of entry into the test automation field. However, with all these advantages, some still struggle to enjoy a successful career or even obtain employment in software testing.
This talk is for existing and aspiring automation engineers who are unhappy with the status quo and seek actionable information to take their careers to the next level. It is for those who want to learn how to execute at their highest level and get the pay raise they seek or achieve the desired promotion. -
keyboard_arrow_down
Anton Angelov - Become Black Ops QA with Selenium 4 BiDi-DevTools APIs
45 Mins
Talk
Intermediate
Anton Angelov will explain in many details and code examples how to automate hard-to-test web app functionalities using Selenium 4 BiDirectional and Chrome DevTools APIs. We will discuss test automation of progressive web applications, web sockets, memory leak checks. In addition, you will learn how to perform internationalization, localization, and network performance testing. Finally, we will investigate how you can use the protocols to speed up your tests using the black hole proxy pattern.
-
keyboard_arrow_down
Boni García - WebDriverManager: the Swiss Army Knife for Selenium WebDriver
45 Mins
Tutorial
Beginner
Selenium WebDriver is a library that allows controlling web browsers (e.g., Chrome, Firefox, Edge, etc.) programmatically using different languages (such as Java, JavaScript, Python, Ruby, or C#). Internally, Selenium WebDriver uses the native support implemented by each browser to carry out the automation process. For this reason, we need to place a component called driver (e.g., chromedriver, geckodriver, msedgedriver, etc.) between the script using the Selenium WebDriver API and the browser. WebDriverManager is an open-source Java library that carries out the management (i.e., download, setup, and maintenance) of the drivers required by Selenium WebDriver in a fully automated manner. In addition, as of version 5, WebDriverManager provides other relevant features, such as discovering browsers installed in the local system and building WebDriver objects, and running browsers in Docker containers seamlessly. The last feature added to WebDriverManager is related to log gathering. As of version 5.2.0, WebDriverManager provides seamless integration with BrowserWatcher, an open-source browser extension that allows gathering the browser console programmatically (even for Firefox, which was not possible to date).
-
keyboard_arrow_down
Parasar Saha - Cloud First Automation Approach – Road to Scalable and Faster Test Automation Pipelines
45 Mins
Talk
Advanced
Cloud has changed the way the software world works. Companies have accelerated their development and deployment cycles with 3x or more speed by adopting the cloud. But Testing in most organizations either is running locally or not taking advantage of the full potential of cloud infrastructure. Testing is the home-alone kid, left to spend the Christmas weekend without the bells the whistles that cloud has to offer.
Digital transformation in IT and Agile delivery model are pushing the testing teams to complete their testing in shorter testing windows. 26 % of the organization are moving to daily releases. 70% of the organization have adopted Agile in delivery. Even after having a high amount of automation coverage teams are struggling to keep up with the pace of testing asked by the business teams.
This talk is about how you can change the story and accelerate cloud adoption in your testing organization with Selenium-based frameworks. Through cloud adoption you benefit from box features of the cloud: On-demand scaling, Cost optimation, Security, Reliability, Geo -routing of your test infrastructure. Cloud adoption doesn’t need to limit to the execution of selenium tests but can help you in test management of automated selenium tests, test data generation, test reporting, test artifact store, and many more. It is not enough to have an Automation First Approach these days, you also need to have Cloud-First Approach for test infrastructure to get the best value from automation.
The talk elaborates on factors to consider while building up the cloud-based testing pipeline and how they will benefit your organization in terms of time to market, cost optimization, and raising the bar of quality.
Finally talks about the moonshot of having a Testing Cloud – AWS of Testing and what will it take to reach there as a testing community.
Take your testing to the cloud, and fly your flag high in quality!
-
keyboard_arrow_down
Mahesh Mal - "I am a tester and I can build my own test infrastructure & environments" - what does it take for a tester to say this confidently
45 Mins
Talk
Beginner
We have seen a lot of times testing teams complaining that they have been waiting days and months to get a test environment, and this becomes a pain when they have to test something to meet deadlines. Depending on external teams for the testing environment is pain, we transitioned and built a testing team that was capable Of building their own infrastructure, environments for all testing activities, and how the entire process was automated based on test team requirements
-
keyboard_arrow_down
Andrei Solntsev - How to migrate from Selenium to Selenide: less boilerplate, more stable tests!
45 Mins
Workshop
Intermediate
Selenium WebDriver is a great tool, but it's not a testing library. It's a browser manipulation tool. Still, many QA projects are built on pure Selenium.
Selenide is a testing library based on Selenium for making stable and readable tests.
In this session, I will show how you can easily migrate your Java project from pure Selenium to Selenide. You will see how to deal with webdriver initialization, enable automated screenshots, simplify page objects and use additional Selenide features.
And no, you don't ultimately need to refactor the entire project. You can leave old code as is, and use Selenide only in some critical parts and new code.
-
keyboard_arrow_down
Andrei Solntsev - Flaky tests
45 Mins
Case Study
Intermediate
How to fight with unstable tests
The talk is about flaky, or unstable tests – why it’s the biggest trouble in test automation and how to overcome it. I will show my collection of real-life examples of flaky tests from my experience. These are really tricky investigations that lasted many days, weeks and even years!
The talk will be interesting to both testers and developers – anyone who loves to solve unsolvable puzzles. -
keyboard_arrow_down
Syam Sasi - Integrating the desktop and mobile browser testing into the continuous delivery pipeline
45 Mins
Talk
Beginner
Automated Web UI testing can be challenging when the UI flows on the desktop web and mobile web are different because the product experience is separately optimized for each screen size.
In this talk, I will be discussing about
- Accessing native device components on the mobile web
- Minimising the complexity with the help of the business layer concept
- Executing the desktop and mobile tests into the continuous delivery pipeline using Selenium, Docker, and Jenkins pipeline.
- Sharing a template for selecting which cloud provider suits you for web automation testing.
Techstack Used: Java, Selenium, Appium, Python, Docker