A tutorial on how to create highly maintainable Selenium tests but creating tests using the Page Object Design pattern. It allows us to create an object in a programming language that represents the tests. If something were to change in the site we don't need to change the test we just need to change the object that represents that page. Since it creates a DSL it means that non-technical members of the team can create tests without having to understand how Selenium works. This has been written in C# but you can do this in any language.