Skip to content

The End-to-End workshop repo for Expedia's UI Developer Conference.

Notifications You must be signed in to change notification settings

grantnorwood/expedia-e2e

Repository files navigation

End-to-End Testing Workshop

End-to-end automated testing with real web browsers is one of the the most effective methods of ensuring that our product works for the people who rely on us to list their short term rentals.

Using WebDriver.io and other great technologies, this workshop will help us to build more confidence in the code we release, improve the experience for users, and ensure that the most critical app paths are protected. We want our customers to achieve their goals, and to protect and improve our company's revenue streams.

This workshop was first given at Expedia Group's UI Developer Conference in London, June 2018.

⚠️ This material was developed using WebDriver v4, the latest and greatest at the time, and all links point to the correct version of their docs.

However, WebDriver v5 was released in Dec 2018, so please be sure to use the latest version of WebDriver in your new projects!

Required pre-work

If you want to be ahead of the game, get your environment setup before you arrive at the workshop! You can do this by completing each section of the instructions in this main README file.

We will spend some time reviewing the steps to setting up your development environment and cloning the workshop repo from GitHub, but we won't have time to download & install everything you'll need. Please come prepared!

Setting up your environment

Here's what you'll need to get started ...

Node.js

I'm using v8.9.4, but any of the "Latest LTS: Carbon" releases should be fine.

To check which version you have installed, simply run:

node --version

For maximum fun with various versions of Node.js, I recommend installing NVM for managing your installed/active versions of Node.

A Code Editor (IDE)

Visual Studio Code is popular these days. Lots of folks prefer Atom. And Sublime Text is awesome, too. You'll just want a nice code editor to do syntax highlighting and other handy code stuff for you.

Browsers

We may be using both Chrome and Firefox, so please have both installed.

Git

It's probably pre-installed on your Mac, or there's a ton of tutorials for installing git on the interwebs, just Google for install git on mac.

Pro tip: Make life easy for yourself and get a GUI for Git. Sourcetree is free and highly useful if you're a more visual person, or if you just want to keep your command line use to a minimum.

Running the Workshop Example

The code has a sample web server and application, and some starter code for our end-to-end test exercises. It was created using Facebook's Create React App.

Each exercise is in its own folder, and we'll work through them one by one. For each, there will be our starter code, as well as the full solution.

The example app called "Verbo" exists in the /verbo directory. We'll run our e2e tests against this app running on http://localhost:3000.

Clone the workshop repo from GitHub

CLI

From your terminal, in whichever directory where you prefer to create your apps:

git clone [email protected]:grantnorwood/expedia-e2e.git

Sourcetree

From the Repository Browser or File menu, click New ... and choose to clone a new repo.

The SSH url to the repo is: [email protected]:grantnorwood/expedia-e2e.git

Congratulations, your pre-work is done! But of course you are free to look ahead to the exercises we'll be working on ... you'll save yourself some time if you get the example application in exercise-1 up and running before the workshop begins.

Exercises

Let's go!

About

The End-to-End workshop repo for Expedia's UI Developer Conference.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published