videos & slides
Chicago, IL | March 28-30 2023

Recordings, Slides & Photos

Let's Go!


  • Keynote

    Selenium: State of the Union
    Selenium: State of the Union

    Many things have happened since we did the last SeleniumConf in person. What is the latest in the Selenium project? Attend this keynote to learn what the Selenium team is doing to keep the project ahead, to help the community, to welcome contributions, and collaborations within the testing ecosystem.

    Learn what the future of Selenium is, some of the pieces Selenium 5 will have, and how you can be part of the future of the project we all love!


    • Selenium and SeleniumConf, how are they run and who makes all this possible.
    • Project health
    • How Selenium 4 has helped the project stay ahead and start shaping Selenium 5
    • WebDriver BiDi - The Future
    • Selenium and The WebDriver Ecosystem
    • How can you help Selenium be better
    • What is next

    Learning Outcome

    Learn what the future of Selenium is, some of the pieces Selenium 5 will have, and how you can be part of the future of the project we all love!

    Target Audience

  • Keynote

    Missed Opportunities: When Quality is Put In a Box.
    Missed Opportunities: When Quality is Put In a Box.

    Does it always feel like your team is chasing after quality? Are you taking steps to improve quality, but it never feels like it’s moving the needle? Join Erika Chestnut in this talk, where she explores the opportunities organizations miss when they put quality in a box. She’ll share creative ways to break out of the box and expand the role of quality beyond the test step. Don’t miss the opportunity to learn how to define, develop and drive a culture of quality that is bigger than the box.


    • Problem
      • Break down the vicious cycle of tech diminishing the value of the role of quality
      • Pros/Cons:  Pure test automation teams vs full stack quality engineering teams
    • Socialize Quality
      • Quality is not one size fits all - quality is not a single step
      • Quality opportunities are everywhere
    • Brand Quality 
      • Why?
      • How?
    • Champion Quality 
      • Influence from the left, right, and middle
      • Cross the aisles to build a culture of quality
      • Tell the story of quality: Metrics that matter vs mass destruction

    Learning Outcome

    By the end of this talk you’ll be able to:

    1. Socialize the full value of the quality team beyond the test step 
    2. Leverage creative ways to make quality approachable and memorable
    3. Confidently champion quality standards, processes, and policies in order to build a culture of quality 

    Target Audience

  • Keynote

    What Exactly Do You Do in Test Automation?
    What Exactly Do You Do in Test Automation?

    If you took the time to sit down to answer the question “what do you do as an Automator on a daily, weekly or monthly basis”, what would you come up with? Would it just be coding, coding and more coding or would your answers highlight a wide and wonderful range of activities you carry out?

    For a skilled Automator, success relies on more than just being comfortable with programming languages and tools. It requires a diverse range of skills, techniques and experiences which the newly released Ministry of Testing automation curriculum has captured and organised in a way so that everyone can see the abilities an Automator has or can attain.

    In this talk, Mark will share how his own experiences and the experiences of other automators have helped curate the Ministry of Testing automation curriculum. Through these stories, we’ll learn how the journey of an Automator is a varied one that can easily employ pen, paper and questions as much as IDEs, frameworks and libraries. We’ll also learn how an open source community curated curriculum can help you regardless of your abilities, role and context and how you can help it grow by sharing your own experience.


    The talk will start by introducing the current challenges with how we see ourselves as Automators and what we do. We'll look at how the impacts training, hiring and discourse around Automation as a topic. Then we'll learn about the Ministry of Testing automation curriculum and explore some stories that illustrate why, as Automators, we do more than code scripts and tests. Finally, we conclude with an invitation to the audience to share their experiences to help improve the curriculum for the future.

    Learning Outcome

    By the end of this talk you’ll be able to:

    • Relate to the experiences of automators and their responsibilities
    • Outline the diverse range of skills, knowledge and techniques and Automator requires
    • Share your own experiences to support a community-curated curriculum for automators

    Target Audience

  • Keynote

    Q & A with the Selenium Committer's Panel
    Q & A with the Selenium Committer's Panel

    Q & A with the Selenium Committer's Panel moderated by Noemi Ferrara.


    Moderated Q&A panel session with core contributors to the Selenium Project.

    Learning Outcome

    Learn what's to come in future releases of Selenium and WebDriver.

    Target Audience


    Prerequisites for Attendees

    No prerequisites, just bring your questions!

  • Deep Dive Session

    Testing with Real Robots over the Internet: What Could Go Wrong?
    Testing with Real Robots over the Internet: What Could Go Wrong?

    When I started the Selenium project, I'd frequently describe Selenium as "like a robot" that is trapped inside your computer. For the past 11+ years, I've been testing that metaphor by building real mechanical robots for testing apps and devices, pushing the definition of "end" in end-to-end testing. Lately, I've been remotely controlling these robot over the internet, and learned some lessons I'd like to share. In this talk, I'll compare and contrast how testing with a physical robot over the internet is different than traditional testing approaches with Selenium or Appium.


    • Overview of telerobotics and telepresence
    • Why test with physical robots vs traditional approaches
    • How testing with physical robots is different
      • Motors
      • Sensors
      • Cameras
      • Object locator strategies:
        • "Traditional" approaches with OpenCV
        • "AI" approaches with machine learning
    • Challenges of testing with robots
      • Lighting
      • Latency
      • Mechanical wear and tear
      • Skills required
      • "Does it scale?"
    • Future work

    Learning Outcome

    Understanding of the costs, benefits, challenges, and opportunities of testing with robots.

    Target Audience


    Prerequisites for Attendees

    Attendees should have a general interest in mobile testing and robots.


    Keynote - Don't Fear The Robot by Jason Huggins | AppiumConf Bengaluru 2019

    Appium: The Untold Story - Dan Cuellar & Jason Huggins | AppiumConf London 2018

    Robots: The Nuclear Option | SeleniumConf London 2016

    Fixing, One Test at a Time | Selenium Meetup San Francisco 2015

    World Domination: Next Steps | SeleniumConf Portland 2015

    Teaching a Robot to Play Angry Birds | SeleniumConf London 2012 



  • Workshop
    Driving Observability with Selenium Grid 4
    Driving Observability with Selenium Grid 4

    Selenium Grid can be a bit daunting to get up and running. Starting it is quite easy, but using it effectively can require pulling in third-party tools. In this workshop we’ll cover how to run your grid effectively, using best practices culled from several large grid installations.


    • Describe what the grid is intended to solve, then get into how it solves it
    • Going deeper into the funnel, how does it get its instructions, and how does it pass them to the nodes?


    • We’ll start with the conventional setup of hub and node servers running on the same box, for simplicity.
    • Different options and flags that can be used when starting the hub/node processes
    • What kinds of logging do the nodes/hubs do that can help in debugging and investigating problems?
    • What is Docker?
    • How do you setup standalone & grid:hub-node using docker?
    • Using docker-compose to simplify docker grid setup process


    • How do you run a test in a container?
    • How do you run a test against the docker grid setup?
    • How do you look at the logs of tests running in a container?

    Advanced Grid:

    • How to build your own docker image with custom browser versions
    • Creating a hybrid Selenium Grid (docker + a local IE/Safari node).
    • Integrating Selenium Grid to the CI pipeline (Jenkins).
    • Setting up a UI manager for all your docker installations
    • How do you scale containers?
    • Running tests in parallel against a scaled Selenium Grid


    • Selenium Grid on Amazon ECS using ecs-selenium
    • Overview of third-party tools

    Learning Outcome

    • What Selenium Grid is and are its capabilities
    • How to run a grid
    • How to scale nodes
    • How to debug
    • How to build your own docker images for custom browser requirements

    Target Audience

    Anyone who wants to learn about setting up, debugging, scaling and driving observability and with Selenium Grid 4

    Prerequisites for Attendees

    Knowledge of Selenium is a mandatory requirement, as the workshop will only focus on the Selenim Grid and won't cover how to write a script.

    Docker Environment


    • This will include installing Hyper-V


    • This will include installing the latest version of VirtualBox

    Linux Distributions:

    • The requirements will vary depending on the flavor of Linux being used

    Selenium-server-jar (latest):

    Latest Selenium 4 version: 4.3.0.jar

    You will also need the browser drivers and language bindings necessary for your target configuration, listed on this page:


    • If you intend to work with an auto-scaling Grid, an AWS account with full EC2 permissions.
    • It is also recommended that you have Eclipse or IntelliJ, a GitHub account, and an open USB port so participants can share files using a thumb drive.
    Tracing Selenium Grid
    1. Install Coursier via a homebrew `brew install coursier/formulas/coursier`
    2. Install Jaeger via docker
  • Workshop
    Advanced Appium 2.0
    Advanced Appium 2.0

    At this full-day (480 mins) 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 JavaClient.


    • Overview
      • Appium 2.0 Architecture
      • Locating elements using Inspector
      • Platform-wise Desired Capabilities
      • Start Appium Server programmatically
      • Understanding Appium server logs
      • Appium driver and plugin commands
      • Managing dependencies in Appium 2.0
    • Gestures
      • A deeper understanding of Gestures
      • Run through various gestures like Swipe, LongPress, Double-tap, Drag, and Drop using a w3c spec
      • Explore mobile: endpoints for the same gestures on both Android and iOS
      • Create our own complex gestures using the above endpoints
    • Practical Tips
      • Different ways to locater strategy for iOS and Android
      • Automation Hybrid application - Tips & Tricks
      • Video recording API
      • Simulate SMS only for Android
      • Run ADB shell commands via Appium
      • Seeding Photos on iOS-Simulator and Android
    • Appium Plugins
      • What is a Plugin?
      • How to build one using a plugin template?
    • Parallelize Tests
      • Understanding Appium Server Session
      • Desired Capabilities changes required to run tests in parallel
      • Using Appium Plugins to run tests in parallel on both android and iOS devices/simulators.

    Learning Outcome

    • Attendees will come away with knowledge of how to automate Android native apps with Appium.
    • Running tests single-threaded, in parallel, and distributed.
    • Also capturing critical report data (logs, screenshots, and video), and
    • Running mobile tests on a cloud test service.

    Target Audience

    QA, Automation Testers, Dev Engineers


    • It is mandatory to refresh your basic Appium skills as it is an intermediate to advanced Appium workshop

    Setup Links:

  • Workshop
    Selenium Deep Dive
    Selenium Deep Dive

    Selenium WebDriver v4 was released in Oct 2021. This version of Selenium WebDriver brings new features and capabilities for automation. At the same time, there are some features that are now deprecated and changed.

    If you answer yes to any of the following questions, this workshop is for you!

    • Are you using Selenium 3 and want to know how or why to update to Selenium 4?
    • Have you written Selenium tests before, but want to know about the advanced features?
    • Are you are struggling with flaky tests and want to learn strategies for fixing them?

    This practical, hands-on, course is designed to help automation engineers take their Selenium expertise to the next level. All attendees will leave with working Selenium WebDriver code on their machines and many techniques to successfully use the Selenium WebDriver API in their own context.


    In this session, we will go through the following topics:

    • Selenium WebDriver Architecture -> 15 min
    • New features since Selenium 3 -> 30 min
    • Hands-on exercises:
      • Selenium 4 Capabilities -> 30 min
      • Finding Elements -> 15 min
        • Locators (including with SelectorsHub extension)
        • Shadow Roots
      • Element State -> 15 min
        • Text
        • Attribute/Property
        • Rect
      • Element Interaction -> 60 min
        • Text Input
        • Dropdowns
        • Buttons / images / links
        • Action Inputs - keyboards, pointers, and scroll wheels.
      • Browser Contexts (Windows/Tabs/Frames) -> 15 min
      • Browser Interactions -> 15 min
        • Alerts/Prompts
        • Cookies
        • Executing JavaScript code 
      • WebDriverBuilder & Augmenter -> 15 min
      • Event Listeners -> 15 min
      • WebDriver BiDi -> 30 min
      • Waits -> 60 min
        • implicit
        • explicit
        • abstract
    • Test Strategy & Frameworks -> 90 min
      • What/How to Test
      • Maintenance Costs 
      •  Abstractions
        • Page Objects
        • Data Objects
      • Object Wrappers
        • Browsers
        • Elements
    • Whats next?

    Learning Outcome

    • Learn the new features and changes in Selenium 4
    • Know your migration path for Selenium 3 to Selenium 4
    • Implementation experience for various Selenium features, including the new Selenium 4 features
    • Navigating the Selenium landscape to find information on your own

    Target Audience

    Selenium users who want to get more out of their test code

    Prerequisites for Attendees

    • The workshop will be taught in Java as the programming language.
    • Below are the software prerequisites for the workshop:
      • IntelliJ Community
      • JDK 11+ (NOT JRE)
      • Git
      • Chrome & Firefox
  • Workshop
    Fix a Bug, Become a Committer
    Fix a Bug, Become a Committer

    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! For the first time ever, we are offering this workshop at no charge to a limited number of qualified applicants - you only need to purchase a regular conference ticket to gain an extra workshop day! Learn more and submit your application here.

    Please note this is not a Selenium training workshop, but instead a walk-through of the project's codebase with guidelines on how to contribute.


    Join Diego Molina, one of the core maintainers of the Selenium Project, as we:

    • Explore the structure of the different Selenium projects
    • See how the source code is structured

    Discover how to navigate the codebase and maintain:

    • Selenium website and documentation
    • Selenium bindings in Java, Python, JavaScript, C# and Ruby
    • Selenium Grid
    • Docker Selenium images
    • Search out the bug database for an issue you can fix during the workshop
    • Fix a bug, add a test, or a feature and create a pull request to contribute it back
    • Get real time feedback and answers from the project core committers
    • Understand how releases get get done
    • Learn how to become a committer and be part of the team

    Learning Outcome

    Deep dive into the Selenium projects and when you leave, you will be able to start contributing to this massive open source project.

    Target Audience

    Anyone interested in understanding the internals of Selenium Project

    Prerequisites for Attendees

    A GitHub ( and a GitPod ( account.
    Fork the Selenium projects to your GitHub account
    A stable internet connection

  • Workshop
    State Model-Based Testing Using Selenium
    State Model-Based Testing Using Selenium

    State Model-Based Testing (SMBT) is an effective testing technique that allows you to visualize your application and to generate and automate test flows by using different models of the application under test, thus obtaining a large number of test scenarios.

    When certain paths of the application are changed, the benefit of using SMBT is that you will only have to modify the states and transitions that apply to that change.

    The purpose of using SMBT is to:

    • Discover another way to view the application under test
    • Test with a variety of randomly generated flows
    • Gather a big number of test runs so we can later investigate the parts of the model where tests have failed the most or the parts that have a higher fixing priority for the product under test.

    In this workshop, we will work in groups to model the behavior of a chosen web application and then write automated tests in Python, using SeleniumWebDriver and AltWalker, to execute the models we created and cover auto generated paths through the application.

    The State Model-Based workshop is a great opportunity for people who are already familiar with automation or coding. However, if you lack programming skills, this shouldn’t be an impediment as you will work in teams and get support from your peers.


    Part 1 - Introduction to SBTM and the app under test - 2 hours (9am - 11am)

    The first part is dedicated to theoretical concepts and getting familiar with your setup during the workshop. You will:

    • Meet your instructors and peers
    • Learn the theoretical aspects of modeling an application and State Model Based Testing
    • Discover the tools you will use for modeling and the application under test

    Part 2 - Modeling - 2 hours (11am - 1pm) 

    Through hands-on group modeling, you’ll learn how to create the model of an application. You will:

    • Work in teams to model the behaviors of a simple web app
    • Control the test coverage through generators and stop conditions
    • Add business logic to the model through actions, guards and data
    • Combine different models to obtain more complex scenarios

    Part 3 - Implementation - 3 hours (2pm - 5pm)

    With the help of ensemble programming, using Python and Selenium WebDriver, you’ll start implementing and executing automated tests based on the created model. You will:

    • Understand how a model can be represented in the automated tests 
    • Get familiar with the open-source tools GraphWalker and AltWalker
    • Execute tests using AltWalker
    • Learn how to split and combine different models

    Learning Outcome

    • Visualizing the complexity of the app and the covered scenarios
    • Dealing with unclear specifications, especially when it comes to integrations, interactions between functionalities or modules
    • Generating large amounts of relevant and complex scenarios and covering them with automation
    • Maintaining regression tests
    • Dealing with flaky tests.

    Target Audience

    People who are already familiar with automation or coding; those with less programming experience can be paired with more experience teams and get support from peers.

    Prerequisites for Attendees

    To try the tests yourself, you will need a laptop with the following pre-installed:

    We will do the coding in groups, so not everyone needs to have this setup done, but it would be good to have it if you want to be able to follow everything yourself. 


    We will be using AltWalker: which is based on Graphwalker (
    Some articles about projects where we have used State Model Based testing:

  • Deep Dive Session
    UNTestable: It's Just Pressing a Button, How Hard Could it Be?
    UNTestable: It's Just Pressing a Button, How Hard Could it Be?

    Over the last 7 years, I've consulted several testing teams on test automation projects for their web applications, and the most frequent troubleshooting request I get is about clicking some button on some website.

    It's just pressing a button... how hard could it be... right?

    I came to discover there's many edge cases when it comes to simply executing a click on a button.

    For example, how do you click a button that re-renders when the mouse hover over it? If you tried to click on the button that used to be there before, then you'll get a "stale element reference".

    How about a button that moves when the mouse goes over it?

    How about a button that is partially obscured by another element?

    How about a button nested in several scrollable containers?

    Unfortunately, these trick buttons are real scenarios I've seen in real business applications.

    In this presentation / live coding session, I'll show you some trick buttons, and how to hit them on the bullseye.


    • Self introduction
    • Live coding to solve different trick buttons with Selenium/Webdriver:
      • Trick button 1: "The clone" - Button that re-renders when mouse hover over it
      • Trick button 2: "The dodgeball" - Button that moves when mouse hover over it
      • Trick button 3: "The glass door" - Button that is partially obscured by another element (an unfortunately common issue)
      • Trick button 4: "The russian doll" - Button nested in several scrolling container

    Learning Outcome

    Learn how to automate clicking on elements for tricky but not uncommon edge cases.

    I thought about creating a subversive series on UNtestable UI elements, and this is a lesson on how to make UNtestable buttons.

    Target Audience

    Experienced test engineers

    Prerequisites for Attendees

    This session includes some live coding using Selenium / Webdriver and assumes that the audience is already familiar with Selenium / Webdriver syntax.


    I frequently write / talk about testing and debugging:

    I sometimes also write about software engineering in general:

SeleniumConf 2023

Chicago, IL


Voco Chicago Downtown | Holiday Inn Chicago Downtown – Wolf Point

350 West Wolf Point Plaza, Chicago, IL 60654

SeleniumConf Chicago 2023 will be located at the newly renovated voco Chicago Downtown | Holiday Inn Chicago Downtown – Wolf Point in downtown Chicago. There are two IHG properties co-located at the site, the voco Hotel and the Holiday Inn. Both hotels are offering special conference only pricing, $189/night for the Holiday Inn and $209/night for the voco – but hurry, space is limited. To get access to the special conference rate reserve your room using these links:

Selenium Sponsors



Arron Wolford
At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.
Spacey McSpaceface
Let's prioritize the low-hanging fruit low engagement but drink the Kool-aid to unlock meaningful moments of relaxation downstream. Take five, punch the tree, and come back in here with a clear head.
Mrs. Longer Namey Type of Name
Come up with something buzzworthy I'll book a meeting so we can solution this before the sprint is over nor going forward through the lens of or form without content style without meaning product management breakout fastworks. Feed the algorithm 360 degree content marketing pool.
Another Name
One-sheet first-order optimal strategies can you champion this. Hard stop overcome key issues to meet key milestones cloud strategy back to the drawing board we need to touch base off-line before we fire the new UX experience. Deep dive.

  • Browser automation for all, all for browser automation
  • Why

    Bring together Selenium and WebDriver ecosystem developers & enthusiasts from around the world

  • Selenium Conf



  • 28th_30th


    Join us in person
    March 2023

  • 23+


  • Hands down, the best Selenium automation conference I've attended.

Reserve Your Spot Now