Skip to main content
blog title image

4 minute read - Exploratory Testing Modelling

Code and Video Updates

Jul 30, 2023

TLDR; Updated code for Selenium WebDriver Course for WebDriver v4 free online and released Open Source Profile conference video for free.

Selenium WebDriver Code Updates

When I removed my Selenium WebDriver course for sale and made it available to Patreon supporters only this was because I didn’t really have time to update the videos.

I have however, been updating the source code.

The full code for the course has been updated to:

The code now uses the styled pages at testpages.herokuapp.com

Selenium WebDriver Test Pages Updated

Additionally I’ve updated the Test Pages themselves.

testpages.herokuapp.com

The old unstyled pages have been deprecated and are less obvious on the page. And I fixed up a few minor bugs on some of the pages.

Selenium WebDriver Test Pages Running Locally on Docker

I’ve also added config to allow the test pages to be run via docker.

After cloning the repo or downloading via zip from github.com/eviltester/TestingApp

From the ‘\java’ directory run:

mvn package

Then:

docker build -t seleniumtestpages \
-f ./docker/selenium-test-pages/Dockerfile .

Then:

docker run -p 4567:4567 seleniumtestpages

This will make the test pages app accessible on localhost:4567

Open Source Profile Talk

I noticed that the talk I created for the Open Quality Conference in 2020 was no longer available anywhere online.

Full details about the talk are here:

Open Quality 2020 Talk Page

The page above contains:

  • talk outline
  • blurb
  • extra information

I have now released that to YouTube.

It had previously been released to Patreon supporters ad-free and with a full transcript, back in 2020.

This has also been added to the Patreon Exclusive Online Course “Get Your Message Out - Blogging”

The slides are available on Github in the EvilTester Talks repo.

https://github.com/eviltester/eviltester-talks

I’m in the process of combining a bunch of repos and removing older repos. I’m also hunting around my hard drive to see what I haven’t released and makings sure I have enough top level repos to cover the content.

Combined Github Repos

I’m in the process of combining a lot of smaller disparate repos into high level repos to cut down on the number of repos I have to review and maintain and hopefully make the content more discoverable.

I’ve pulled together 20 or so repos into a WebDriver Compendium repo:

github.com/eviltester/seleniumWebDriverCompendium

This contains smaller example repos and experiments.

It also contains the Automation Abstractions repo which was the precursor to my Linkedin Course on Page Objects. Advanced Selenium: Page Objects and GUI Automation

The full source is available, as are the slides for the associated one day workshop.

I’m still working through this repo to tidy and update the code, and as I do so I’ll remove the earlier duplicated repos.

Updated Getting Started Repos

I’ve updated the “Getting Started with” repos.

JUnit:

WebDriver with Java:

Removing Travis-CI and Running WebDriver via Github Actions

I’ve been meaning to migrate all the repos from Travis-CI to Github Actions since Travis-CI stopped offering free CI Builds for open source.

I’ve only now started upgrading.

The JUnit repos and WebDriver 4 repos all use Github Actions to run the tests on push and via cron job.

The new Selenium WebDriver 4 Browser Manager, makes running headless tests in CI much easier.

e.g. the build.yml for my Selenium WebDriver 4 course code is very simple:

name: build
on:
  push:
  workflow_dispatch:
  schedule:
    - cron: '0 1 * * 6' # weekly check that it still works

env:
  BROWSER_STATE: Headless

jobs:
  compile-and-test-webdriver-4:
    runs-on: ubuntu-latest
    steps:
      # https://github.com/actions/checkout
      - name: Download repository
        uses: actions/checkout@v3

      # https://github.com/actions/setup-java
      - name: Set up JDK 18
        uses: actions/setup-java@v3
        with:
          distribution: 'temurin'
          java-version: 18

      - name: setup chrome
        uses: browser-actions/setup-chrome@v1

      - run: chrome --version

      - name: Test with Maven using Chrome
        working-directory: ./code/selenium_4/code
        run: mvn test -Dselenium2basics.webdriver=CHROME

This has:

  • push: to run the tests on push to the repo,
  • workflow_dispatch: to allow me to manually trigger the execution from Github UI
  • schedule: to run the jobs on a cron timed basis every week on Saturday

Notice that there is no setup of ChromeDriver because the in-built Selenium Browser Manager is taking care of that step for me.