Selenium WebDriver With Java
Selenium WebDriver is the web automation tool of the moment. Selenium WebDriver skills are in demand. And when you understand the Selenium WebDriver usage patterns that this course teaches, then you can increase your ability to write effective automation code. Learn to use this automation test tool the easy way, with an experienced practitioner, who knows how to use it in the real world.
More
Alan Richardson has been working with Selenium since 2007, and WebDriver since 2010. Over the years he has helped his staff learn Selenium using the methods in this course: discussing the theory, showing examples, hands on work, then critique and code reviews of worked examples.
In this course you will learn real world techniques associated with the Selenium WebDriver API based on experience of using Selenium WebDriver to automate production web sites.
We have taken the material for a 3 days course and created additional hours of video instruction. It should take you at least an additional 6 hours of self learning to do the exercises. (some students have reported the exercises taking longer, it depends on your experience.)
This course focuses on the information you need to get productive with Selenium WebDriver. We don't spend any time on the Selenium IDE, because you won't use that in a production environment. We don't spend any time on padding covering the architecture of Selenium WebDriver because you can find that information on the Web, and you don't need to know it, to get productive.
Throughout the course we emphasise, and demonstrate, self learning strategies so that you don't just learn the Selenium WebDriver API in depth, you also learn how to discover more on your own.
Before you sign up for the course though, make sure you take advantage of the information we provide for free. Make sure to view our free preview videos from this course below.
In addition to the the lectures, and the exercises, we also have over slides and pdfs to aid your self study, and projects filled with code to study.
We support you as you work through the course. So if you want additional explanation, or have a question then ask in the comments and we will answer, we even create new videos showing the answers and them to the course.
When you are ready to learn Selenium WebDriver in depth, then sign up and let our online video training help you.
Watch Online Selenium WebDriver With Java
# | Title | Duration |
---|---|---|
1 | Promo Overview Video | 05:24 |
2 | About the Instructor: Alan Richardson | 04:28 |
3 | Welcome Message | 00:53 |
4 | Aims of this course | 01:44 |
5 | Overview Of Selenium | 04:24 |
6 | About The Tools | 05:40 |
7 | About the Applications under test | 04:01 |
8 | Homebrew and Chocolatey Overview | 02:06 |
9 | startUsingJavaJunit GitHub Project Overview | 01:27 |
10 | Windows Install Java, Maven and IntelliJ using Chocolatey | 12:56 |
11 | Mac Install Java, Maven and IntelliJ using Homebrew | 09:47 |
12 | Overview of Driver Install | 01:48 |
13 | Overview of startUsingSeleniumWebDriver Github Project | 01:09 |
14 | Install ChromeDriver using Chocolatey | 02:04 |
15 | Install GeckoDriver using Chocolatey | 02:27 |
16 | Open startUsingSeleniumWebDriver project in IntelliJ and run the tests (Windows) | 06:52 |
17 | Install ChromeDriver using Homebrew | 01:27 |
18 | Install GeckoDriver using Homebrew | 00:53 |
19 | SafariDriver is already installed on Mac | 00:46 |
20 | Open startUsingSeleniumWebDriver project in IntelliJ and run the tests (Mac) | 03:45 |
21 | Install Java JDK, Maven and IntelliJ | 07:10 |
22 | Install IntelliJ | 03:26 |
23 | Download the `startUsingSeleniumWebDriver` project | 02:04 |
24 | Install Firefox and Marionette GeckoDriver | 04:32 |
25 | Install Chrome and ChromeDriver | 02:53 |
26 | Run WebDriver Test From The IntelliJ IDE | 02:43 |
27 | Tip - how to right click in Finder to open folder in a terminal | 01:07 |
28 | Install Java JDK, and Maven on Mac using Homebrew | 02:48 |
29 | Install IntelliJ Community Edition on Mac | 02:20 |
30 | Download the `startUsingSeleniumWebDriver` project and install Firefox and driver | 04:47 |
31 | Install Chrome and ChromeDriver | 01:53 |
32 | Run WebDriver Test From The IntelliJ IDE | 01:09 |
33 | How to Fix Java Language Level Errors | 03:15 |
34 | How to upgrade to Selenium 3 (only for pre version 3 students) | 05:25 |
35 | Intro To Maven | 01:51 |
36 | Create A Project, the easy way, with IntelliJ | 07:32 |
37 | How to add and update version of Selenium WebDriver Dependency | 01:47 |
38 | Summary Of Why Maven | 01:27 |
39 | Maven Troubleshooting Downloads | 07:32 |
40 | Maven Troubleshooting Proxies and Download Cache Issues | 04:48 |
41 | Manage IntelliJ Project Folder Files | 02:06 |
42 | Import pom.xml into IntelliJ 15 using the Open Wizard | 02:14 |
43 | About This Section | 01:47 |
44 | Create A Project | 02:55 |
45 | My First Chrome Test | 06:29 |
46 | My First Firefox Test | 04:47 |
47 | My First Test Explained | 09:04 |
48 | Begin Coding Exercise | 03:16 |
49 | Basic Knowledge Intro and Exercise | 02:10 |
50 | Basic Knowledge Answered | 05:38 |
51 | JUnit Intro and Example Explained | 13:52 |
52 | JUnit 4 vs JUnit 5 | 02:04 |
53 | How is maven getting the dependencies? | 03:47 |
54 | Run maven with no 'test' in the class name | 03:45 |
55 | More JUnit Theory | 01:48 |
56 | A Quick Look at JUnit's source code | 04:13 |
57 | Example use of @Before, @BeforeClass, @After and @AfterClass | 10:27 |
58 | JUnit Exercises Introduction | 02:08 |
59 | Sample JUnit Answers Explained | 12:16 |
60 | A little more Hamcrest | 05:11 |
61 | Navigation Introduction - the basic navigation commands | 03:23 |
62 | Explain the Driver class | 03:49 |
63 | Navigation Exercises | 02:00 |
64 | Navigation Exercises Explained - Sample Answers | 04:47 |
65 | Navigation Discussion | 02:54 |
66 | IntelliJ project pane tips | 02:44 |
67 | IntelliJ navigation find shortcut keys | 02:35 |
68 | Finding Elements in Google Chrome Dev Tools | 01:36 |
69 | Finding Elements in Firefox Dev Tools | 04:06 |
70 | Introduction to Interrogation | 01:12 |
71 | Driver level Interrogation exercise | 01:21 |
72 | Driver Level Interrogation Exercise - Sample Answers | 10:31 |
73 | DOM Element Interrogation Introduction | 12:16 |
74 | First findElement & By exercise | 01:38 |
75 | First findElement & By Exercise - Sample Answers | 07:30 |
76 | findElements Introduction | 02:14 |
77 | findElements Exercise | 01:19 |
78 | findElements Exercise - sample answer | 05:35 |
79 | Chaining findElement and By support classes | 09:36 |
80 | CSS Selectors | 18:00 |
81 | CSS Selectors Exercise | 01:52 |
82 | CSS Selectors Exercise - sample answers | 06:27 |
83 | CSS Selectors - Paths | 05:54 |
84 | XPath Introduction | 08:23 |
85 | XPath Exercise | 00:38 |
86 | XPath Exercise - Sample Answers | 03:52 |
87 | Xpath CSS Rosetta Stone Reference | 02:22 |
88 | Manipulation Introduction | 01:52 |
89 | How to be overconfident really quickly | 11:21 |
90 | WebDriver Wait Introduction | 05:08 |
91 | Manipulation Exercises Introduction | 02:28 |
92 | Manipulation Exercises Sample Answers Introduction | 01:39 |
93 | Manipulation Exercises - sample answers question one | 06:29 |
94 | Manipulation Exercises - sample answers question two | 02:48 |
95 | Manipulation Exercises - sample answers question three | 02:24 |
96 | Manipulation Exercises - sample answers question four | 04:42 |
97 | Manipulation Exercises - sample answers question five | 08:34 |
98 | Manipulation Exercises - sample answers question six | 03:53 |
99 | Manipulation Exercises - sample answers question seven | 03:08 |
100 | Manipulation Exercises - Summary and retrospective | 04:55 |
101 | Demo of experimenting with API using IntelliJ Evaluate Functionality | 03:47 |
102 | Overview of Select Support Class and Exercise | 02:00 |
103 | Select Support Class Sample Answer | 02:43 |
104 | User Interactions Introduction and overview | 06:10 |
105 | User Interactions Demo and code walkthrough | 06:37 |
106 | User Interactions Exercise Introduction | 02:21 |
107 | User Interactions Exercise Retrospective | 05:08 |
108 | Make User Interaction More Reliable By Setting Focus to the page | 01:26 |
109 | Alerts Overview | 04:51 |
110 | Alerts Exercises Introduction | 03:23 |
111 | Alerts Exercises Sample Answers | 05:23 |
112 | Alerts FAQs | 05:38 |
113 | Alerts Summary | 00:59 |
114 | Frames Introduction | 04:53 |
115 | Frames a Code Introduction | 07:33 |
116 | Frames Exercise | 02:03 |
117 | Frames Exercises Answers | 12:46 |
118 | Frames Exercises Summary Answers | 02:19 |
119 | iFrames Introduction | 04:08 |
120 | iFrames Code Introduction | 03:27 |
121 | iFrames Exercises | 01:31 |
122 | iFrames Exercises Answers | 10:01 |
123 | iFrames Exercises Answers Summary | 04:07 |
124 | iFrames FAQs | 04:51 |
125 | Working With Windows Introduction | 04:21 |
126 | Windows Code Introduction | 07:29 |
127 | Windows Exercises | 02:06 |
128 | Windows Exercises Answers | 09:20 |
129 | Windows Exercises Summary Answers | 02:38 |
130 | Windows FAQs | 07:19 |
131 | Managing Windows Introduction | 04:18 |
132 | Managing Windows Code Introduction | 03:48 |
133 | Managing Windows Exercises | 01:16 |
134 | Windows Exercises Answers | 09:48 |
135 | Synchronisation Strategies Overview | 01:31 |
136 | Exercise: feel the pain | 01:26 |
137 | Exercise: feel the pain answer | 02:57 |
138 | WebDriverWait to Save The Day | 04:26 |
139 | Exercise: Fix the failing test | 01:04 |
140 | Exercise: ExpectedConditions Answers Code Walkthrough | 04:54 |
141 | Custom Expected Condition - slides walkthrough | 08:36 |
142 | Custom Expected Condition - ExpectedConditions code walkthrough | 04:11 |
143 | Custom Expected Condition - tutorial code walkthrough | 10:18 |
144 | WebDriverWait ExpectedCondition Code Walkthrough Explanation | 07:01 |
145 | Waiting Exercises slide | 01:45 |
146 | Waiting Exercises answers - code walkthrough | 04:46 |
147 | Using WebDriverWait Fluently overview | 02:07 |
148 | Using WebDriverWait Fluently code | 01:39 |
149 | FluentWait Introduction slides | 02:52 |
150 | FluentWait code based overview | 07:02 |
151 | FluentWait exercise | 01:15 |
152 | FluentWait exercise Answers | 03:10 |
153 | Implicit vs Explicit Wait slides overview | 05:13 |
154 | Implicit vs Explicit Wait code overview | 03:51 |
155 | Refactoring WebDriverWait | 01:41 |
156 | Refactoring WebDriverWait Code | 02:43 |
157 | Cookies Introduction | 02:24 |
158 | Cookies Overview | 05:24 |
159 | Cookies Builder | 03:27 |
160 | Cookies Exercise Overview | 01:31 |
161 | Cookies Exercise Answers | 07:12 |
162 | Javascript Introduction | 05:59 |
163 | Javascript Example with Code Exploration | 04:52 |
164 | Javascript on the page to view script and console | 03:39 |
165 | Javascript Exercises | 03:00 |
166 | Javascript Answers | 10:32 |
167 | Javascript Async Theory | 02:35 |
168 | Javascript Async Example Explained and Explored | 10:20 |
169 | Javascript Async Exercise | 01:57 |
170 | Javascript Async Exercise Answer | 02:45 |
171 | Introduction to using different browsers | 03:14 |
172 | Adding a Browser Driver to the Path | 03:46 |
173 | FirefoxDriver Introduction | 10:10 |
174 | ChromeDriver Introduction | 01:50 |
175 | ChromeDriver Overview with example code | 05:06 |
176 | IEDriver Overview with slides | 01:29 |
177 | IEDriver Overview with code examples | 01:26 |
178 | IEDriver path configuration Path or Property | 02:49 |
179 | Microsoft Edge WebDriver Introduction | 03:10 |
180 | Microsoft Edge WebDriver Code Introduction | 03:45 |
181 | Try Different Browsers | 02:28 |
182 | Different Browsers Exercises | 01:38 |
183 | HtmlUnitDriver | 04:20 |
184 | GhostDriver a quick introduction | 05:30 |
185 | Driver Manager Approaches Introduction | 02:05 |
186 | Driver Manager Selenium 2 Basics | 06:45 |
187 | Selenium Test Code WebDriverBuilder | 03:32 |
188 | Selenium Simplified Manager | 04:56 |
189 | Driver Manager Exercise Introduction | 01:09 |
190 | Driver Manager Exercise Answer | 17:23 |
191 | Driver Manager Exercise Recap | 02:52 |
192 | Overview of the TakesScreenshot Interface | 02:02 |
193 | Create TakesScreenshot Live Example | 11:25 |
194 | TakesScreenshot Example Code Overview | 02:54 |
195 | TakesScreenshot Exercises | 02:45 |
196 | TakesScreenshot Exercises 1 Capabilities Answers | 06:15 |
197 | TakesScreenshot Exercises 2 Type Answers | 11:22 |
198 | Page Objects Introduction | 04:10 |
199 | Page Objects Refactoring Heuristics | 02:36 |
200 | Refactoring to Page Objects A Live Example | 38:36 |
201 | Refactoring to Page Objects the Live Example Summary | 05:55 |
202 | Refactoring to Page Objects Exercise | 01:23 |
203 | Defect Explanation for the GUI JavaScript option selection | 04:17 |
204 | Refactoring to Page Objects Exercise Answers | 04:12 |
205 | Loadable Component | 09:20 |
206 | Slow Loadable Component | 05:03 |
207 | Basics of Page Factory | 04:02 |
208 | Page Factory Details | 05:44 |
209 | Overview of Continuous Integration | 04:47 |
210 | Overview of CI Project Code | 06:21 |
211 | Overview of Github Travis CI Process | 08:49 |
212 | About Git | 03:38 |
213 | Create a Github Account | 00:37 |
214 | Install Git and Github desktop | 01:56 |
215 | Create a Project in Git for the CI | 06:58 |
216 | Exercise Summary | 01:08 |
217 | Travis CI Overview | 01:43 |
218 | Create a Travis CI Build | 07:14 |
219 | .travis.yml file Explained | 08:18 |
220 | Travis-CI Exercise Summary | 01:28 |
221 | Maven Profiles and JUnit Suites for CI | 08:17 |
222 | Jenkins Install | 04:30 |
223 | Configure Jenkins Plugins and Tools | 02:52 |
224 | Configure Jenkins Manual Job | 02:30 |
225 | Introduction to CI In Practice | 00:36 |
226 | Jenkins Jobs | 10:32 |
227 | My Continuous Integration setup explained | 05:07 |
228 | Explaining and examining intermittency | 05:00 |
229 | Overview of RemoteWebDriver | 03:27 |
230 | Demo of RemoteWebDriver | 05:39 |
231 | Remote Grid Pros and Cons | 04:46 |
232 | Selenium Grid Theory | 10:57 |
233 | Local Selenium Grid Demo | 10:08 |
234 | Appium - Overview | 04:28 |
235 | Data Driven Testing Overview | 04:15 |
236 | Data Driven Testing In Action | 03:03 |
237 | Data Driven Testing with and Object Array | 03:52 |
238 | Data Driven Testing with a CSV File | 04:11 |
239 | IsLoaded Helper Class Approach | 04:16 |
240 | Some Fluent Page Object Tips | 03:30 |
241 | End Notes | 04:18 |
242 | Personal End of Course Message | 01:38 |
243 | What is Continuous Integration | 03:23 |
244 | Example of CI - About the wdci git code project | 03:12 |
245 | Example of CI - Github code local Jenkins build | 02:42 |
246 | Example of CI - Github and Travis-ci | 03:54 |
247 | Secret of CI - Working from command line | 06:32 |
248 | Download and Run Jenkins | 03:42 |
249 | Example Initial Run and Config of Jenkins | 03:11 |
250 | Overview of Installing Git | 03:17 |
251 | Exercise - create a Jenkins job to run wdci with firefox | 01:29 |
252 | Exercise Answer - create a Jenkins job to run wdci with firefox | 02:00 |
253 | Exercise - create a Jenkins job to run wdci with HtmlUnit | 00:35 |
254 | Exercise Answer - create a Jenkins job to run wdci with HtmlUnit | 01:47 |
255 | Exercise - create a Jenkins job to run wdci with a Driver | 00:50 |
256 | Exercise Answer - create a Jenkins job to run wdci with a Driver | 03:31 |
257 | Exercise - create your own Git repository | 02:57 |
258 | JUnit Suites and Profiles | 05:19 |
259 | Exercise - JUnit Suites and Profiles | 01:49 |
260 | Jenkins Hints - JENKINS_HOME | 02:37 |
261 | About Appium | 02:10 |
262 | How to Study This Section | 00:53 |
263 | Installing Appium | 07:58 |
264 | Appium Live Run | 02:26 |
265 | Appium Live Run Changes Made to Driver | 03:20 |
266 | Investigate BasicTestRefactored Test Failure | 01:26 |
267 | Investigate Cookies Test Failure | 07:52 |
268 | Investigate User Interactions Test Failure | 02:41 |
269 | Investigate Data Driven Test Failure | 05:23 |
270 | About Android Virtual Devices | 02:56 |
271 | Installing and Creating an Android Virtual Device | 06:21 |
272 | Appium and AVD | 02:26 |
273 | Demonstration Running Appium against Browser | 02:45 |
274 | Appium Exercises | 01:11 |
275 | Changing Driver for easier GRID usage | 02:39 |
276 | Implementing Driver Change for easier GRID usage | 03:17 |
277 | More Generic grid code in Driver | 02:01 |
278 | Using the Driver config from the command line | 02:19 |
279 | Using the Driver config from the IDE | 05:02 |
280 | Using the Driver config from CI | 01:41 |
281 | BrowserStack requires Driver changes | 01:55 |
282 | Driver changes to support BrowserStack | 02:32 |
283 | IntelliJ Driver config for BrowserStack, SauceLabs and TestingBot | 02:35 |
284 | Basic setup of a Mac as a grid node | 05:17 |
285 | Demonstration of ChromeDriver on mac and IE by default | 03:40 |
286 | Using node.json to Configure a Mac grid node | 05:08 |
287 | Added the grid config source files into the code.zip and repo | 00:30 |
288 | Alert Overview | 02:50 |
289 | Alert Exercises Introduction | 01:23 |
290 | Alert Exercises Retrospective | 03:40 |