Selenium WebDriver MindMap

This draft of a Selenium WebDriver MindMap was drawn with the wonderful https://bubbl.us/. The goal of this draft is to propose an overview of the main subjects while working with Selenium WebDriver and where it make sense to acquire knowledge sooner or later.

Integration
WebDriver is developed for the real world and therefore it depends on real projects with real setups. So a Selenium developer needs knowledge of these environments.


Agile Development
Web Browser Automation is an important part of agile development http://en.wikipedia.org/wiki/Agile_software_development

Cloud
www.saucelabs.com, www.cloudbees.com, …

Build-Tools
Maven, Ant, …

Continous Integration
The shorter the test cycles, the more Web Browser Automation pay off. CI-Server: Jenkins

WebDriver API
It’s the core of the Selenium engagement: http://selenium.googlecode.com/svn/trunk/docs/api/java/index.html

Selenium World
Knowing the history (Selenium 1 -> Selenium 2 = WebDriver), knowing the key players (e.g. Simon Stewart), knowing the knowledge base (http://seleniumhq.org/), knowing support ressources (https://groups.google.com/forum/?fromgroups#!forum/selenium-users), …

Pattern
There are design patterns, like Page Object-Pattern.
And there are recipes for recurrend problems, like „check if an element exists“ (http://stackoverflow.com/questions/6521270/webdriver-check-if-an-element-exists)

Internals
Knowing the internals isn’t needed in straight forward problems. But it’s very helpful with complex problems and to develop sophisticated solutions.

Driver Internals
http://code.google.com/p/selenium/wiki/ArchitecturalOverview#A_Layered_Design

Browser Internals
Long time the rendering engines of browsers have been black boxes. Tali Garsiel helped a lot to reveal these internals: http://taligarsiel.com/Projects/howbrowserswork1.htm

Programming
Except for stumbeling with Selenium IDE, skills in programming are fundamental for Web Browser Automation with Selenium.

Programming Language
All programming languages with bindings to WebDriver API: http://seleniumhq.org/docs/03_webdriver.html#setting-up-a-selenium-webdriver-project

IDE
NetBeans, Eclipse, …

HTML
target of all the efforts

XPath
needed for sophisticated navigation; fantastic tutorial:

Test-Framework
TestNG, junit, …

Browser Tools
in the MindMap you find addons for my favorite development browser: Firefox.