After completing the course, you will be able to write automated tests using Selenium Webdriver.
You will understand the basics of working with Selenium WebDriver, i.e. how to navigate over multiple pages, click buttons, type into text boxes, select from dropdowns... do anything you want with web pages - automate your existing manual scenarios or repetitive actions at work. Course is very practical - you'll start with simplest exercises and over the course will move into more real-life and complicated tasks - automating existing test cases against real web pages you can find all over the internet. Throughout the course you'll also learn interview questions that will help you to pass automation engineer interview or be more successful at technical QA engineer interviews. Practice makes perfect... The path won't be easy - but it will be fun!

Course covers Automated Testing with Ruby, Cucumber and Selenium WebDriver.

• Slava Skryabin - Sr. Software Development Manager and Automation Architect, Oracle. Designed and created Java, Ruby, JavaScript-based automation frameworks from the ground up that test UI, mobile, web-services, DB and security penetration.
• Elina Sobol - Sr. Automation Engineer, Workday. Writing automated tests and Java and Ruby. Transitioned automation frameworks to use object oriented design.

We deal with automation on a daily basis at work and follow all market trends and new technologies. We coach engineers at work so they will be delivering for our teams, so we know to the teach quickly and effectively.

1. History, development, reasons of automation. Why automate?
2. Example automated scenarios - automating redundant tasks.
3. What automation engineer needs to know in HTML to easily deal with any page?
4. Understanding grey box testing and usage of browser built-in and external development tools - Chrome developer tools, Firebug, Firepath, etc.
5. Different HTML element location strategies - XPath, CSS.
6. Learning universal mechanism to locate any element to use in automation.
7. Relative XPath, Cheatsheet, navigating over elements, selecting by tag name, attribute name, empty tag, tag contents, text, etc.
8. Modern approach to write software applications - automation engineer role.
9. Role of manual engineer in automation, transition to automation engineer role.
10. Behavior Driven Development (BDD) with example of Cucumber. Definition and architecture. Gherkin language.
11. Automation frameworks overview and structure.
12. Setting up simple Selenium WebDriver Automation Framework with BDD from scratch on Windows, Linux or Mac.
13. Running demo automated scenarios.
14. Auto-generated report with screenshots overview and how to open bug with it.
15. Automation engineer toolset overview.
16. Automated libraries management at work.
17. Navigation, Click Elements, Alert Handling, Data Input, Assertion, Progress, Taking Screenshot, Configuration and Mobile Steps.
18. How to drive browser and write any executable scenario with simple English sentences. Feature, Scenario, Given, When, Then, And, etc. Scenario definitions. BDD Cheatsheet.
19. Practice makes perfect!
20. Specific manual test cases and way to automate them.
21. Input fields, emails, dropdowns, checkboxes, textarea, multi-select, file attachment, etc.
22. Date picker, iFrames, alerts, between windows navigation, passwords, mouse over, etc.
23. Dealing with forms, forms reset and submit.
24. Multiple browser usage with Selenium WebDriver.
25. Automated scenarios simplification and optimization.
26. Ruby language deep dive - simple, laconic, object oriented, easiest to learn.
27. Interactive Ruby.
28. Data types - numeric, Boolean, string, collection, etc.
29. Data operations, concatenation, printing, function calls on objects.
30. Data type conversions.
31. Simple Boolean expressions and why automation engineers need them.
32. if / else conditions.
33. Arrays, maps.
34. Variables scope.
35. Selenium WebDriver API Cheatsheet, all functions you need to know to be successful.
36. Selenium WebDriver API method diagrams - how to learn it fast.
37. Writing your own classes, functions.
38. Assertion vs validation - why automation engineer needs to learn them?
39. Exceptions and loops.
40. Page Object Pattern.
41. Driver, title, current url, window handles, find element, click, send keys, clear, text, attribute, displayed, enabled, selected, etc.
42. Managing cookies, logs, timeouts, alerts, screenshots, reports, etc.
43. Practice with multiple real pages and websites from the internet.
44. Converting manual test cases into automated ones - convert your own manual scenario you always wanted to!
45. Source control and repository management.
46. Continuous integration, QA and automation engineers roles in it.
47. Real configuration examples overview.
48. Interview questions overview.
49. Coding challenges overview.
50. Useful libraries, student licenses.
51. Next steps with automation. What you need to know to become a successful automation engineer.



40 lecture hours + 60 lab hours by arrangement
Registration fee: $100.00 (Mandatory, non-refundable)
Tuition: $1000.00 (Mandatory, refundable)
Manuals, handouts, lab time and equipment: at no charge to students
Total: $1100.00  - ($1,150.00 effective March 1, 2019).

The total amount for all fees, charges and services the student is obligated to pay for the course is $1100.00 (one thousand one hundred dollars).