This blog series steps through the process of writing WebDriver UI tests in Java from the first line of code through to running tests at scale in the cloud.
The source code that accompanies this blog series can be found at GitHub.
- What is WebDriver and Selenium
- The Maven POM file
- The first test
- Creating the framework
- A Sample web page
- Finding elements by XPaths and CSS selectors
- Implicit and Explicit Waits
- Mixing implicit and explicit waits
- Simplified element location
- Headless browsers
- Adding the BrowserMob proxy
- Firefox debugging tips
- Capturing HAR files
- Modifying HTTP requests
- Modifying HTTP responses
- Uploading the Web Page to S3
- Running tests against browserStack
- Running tests on mobile devices
- Environment specific handling
- Populating the GIT repo
- Travis CI
- The TicketMonster test
- The Page Object Model pattern
- Reusing POM classes
- Implementing Cucumber
- Exposing Gherkin steps
- Writing a Gherkin feature
- Installing serverless
- Preparing the Lambda resources
- Creating an UberJAR
- Deploying a simple Lambda function
- Launching Cucumber tests as Lambdas
- Asynchronous Lambdas
- Emailing the results
Tags:
Related posts

The State of GitOps report: Exploring effective GitOps
Key insights from the first State of GitOps report based on 660 survey responses. Learn how high-performing teams achieve better software delivery, increased reliability, and stronger security through 6 essential GitOps practices.

Inside DevOps with Oluwateniola Olubowale from United Capital
A series where we share lessons learned from those on the frontlines of DevOps. This post features Oluwateniola Olubowale, DevOps Engineer at United Capital.

Beyond skeleton pipelines: who owns your software pipeline?
Most teams have basic CI/CD pipelines that work but never improve. Without clear ownership, these 'skeleton pipelines' become bottlenecks instead of enablers.