location_city Virtual Platform schedule Sep 10th 10:00 AM - 06:00 PM place Online Meeting 3 people 47 Interested add_circle_outline Notify

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.

 

 
 

Outline/Structure of the Workshop

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

Set-up

  • 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

Running

  • 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

Extras:

  • Selenium Grid on Amazon ECS using ecs-selenium
  • Overview of third-party tools: Zalenium, SeleniumGridScaler, selenium-grid-extras, just-ask

 

 

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 own docker images for custom browser requirements

 

 

Target Audience

Anyone who wants to learn about Set up, debug and Scaling Selenium Grid

Prerequisites for Attendees

Selenium(mandatorily) - As we will focus only on Grid and won't cover how to write a script.

Docker

Windows: https://docs.docker.com/engine/installation/windows/

This will include installing Hyper-V

Mac: https://docs.docker.com/engine/installation/mac/

- This will include installing the latest version of VirtualBox

Linux Distributions: https://docker.github.io/engine/installation/linux/

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

Selenium-server-jar (latest): https://bit.ly/327RZjR

Latest Selenium 4 Alpha version 4.0.0-alpha-6


You will also need the browser drivers and language bindings necessary for your target configuration, listed on this page: https://www.selenium.dev/downloads/

Optional

- 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

 

schedule Submitted 11 months ago

Public Feedback


    • Simon Stewart
      keyboard_arrow_down

      Simon Stewart - Selenium: State of the Union

      Simon Stewart
      Simon Stewart
      Project Lead
      The Selenium Project
      schedule 10 months ago
      Sold Out!
      45 Mins
      Keynote
      Intermediate

      What's the latest in the world of Selenium since the last SeleniumConf? In this talk, we'll cover Selenium 4, how the project is run, how you can participate, reminiscing on the Old Days, and reflect on something that at first doesn't appear to be related to Selenium, yet is intimately related to it.

    • David Burns
      keyboard_arrow_down

      David Burns - Selenium: Giblets and all

      45 Mins
      Talk
      Beginner

      Selenium has done a pretty good job in keeping the API surface friendly and usable, but what actually happens when you call some of the commands? In this talk, David will walk you through what happens when you make a call in your test, how it gets to the browser, what happens in the browser, and how it returns all the way back to your test.

      Selenium is designed so that each of the commands works synchronously, so you know that a command has finished before it moves onto the next. This creates some interesting problems in browsers since they are mostly designed around asynchronicity.

      We will start with how each of the bindings communicates with the browser and then move on to how navigation works. David will show all the different aspects that we need to figure out to tell if a page is “loaded”. He will also show where it goes horribly wrong and how you can write code in your tests to stabilise around these “anomalies”.

      From there we will have a look at how clicks work from making sure they are trusted to what if they cause a navigation.

    • Diego Molina
      keyboard_arrow_down

      Diego Molina - Test Automation is not just coding

      Diego Molina
      Diego Molina
      Sr. Software Engineer
      Sauce Labs
      schedule 11 months ago
      Sold Out!
      45 Mins
      Talk
      Intermediate

      We learn more from our failures than our successes. I want to share one of my failure stories, where I learned that coding is not the most important task in Test Automation.

      A failure taught me that coding is not the most important task in Test Automation. I fixed a bug, added tests, and shipped it to production. After that, a bug report came in showing that the fix created a new bug. I felt bad, I did not understand how that happened. A hotfix solved the issue, but the root cause was not addressed: what did I miss?

      By taking a step back, I understood the situation, it all happened by overseeing basic concepts in testing (like understanding how the system works). The problem was that coding had more priority than creating a test plan. After this, I prioritized tasks better to avoid this situation to happen again.

      This talk shows that testing concepts are more important than ever, in a time where tools promise to do everything, we focus less on what and how to test, and more in using tools to test. It outlines how a test strategy can leverage a continuous testing setup. Finally, it shows that failing is ok, but failing again for the same reasons is not.

    • Christian Bromann
      keyboard_arrow_down

      Christian Bromann - The Nuts and Bolts of WebdriverIO

      Christian Bromann
      Christian Bromann
      Software Engineer
      Sauce Labs
      schedule 11 months ago
      Sold Out!
      90 Mins
      Workshop
      Beginner

      There are thousands ways if not more to setup your automation testing environment. It is often crucial when it comes to stability and maintainability. While you can build a custom framework that fits your needs there are often already sophisticated setups or frameworks available that get you up and running very quickly.

      WebdriverIO is one of these frameworks that is written in Node.js. It gets you up and running within minutes and allows you to scale up your test suite while maintaining your execution time by running tests in parallel. With its huge project community it is an ideal choice for small as well as big projects that use modern frameworks such as React, Angular or Vue.js.

      In this workshop you will learn everything you need to know to run a successful, stable and maintainable WebdriverIO framework. It starts with an introduction to the project and the basic concepts and will end with a sophisticated framework that includes testing strategies like Frontend Performance Testing as well as complex browser interaction with Puppeteer.