This course will introduce you to the basics of automation testing using Selenium and build on that foundation to cover advanced topics. The course is very hands on with a strong focus on web driver functionality.

Course Duration: 2 days
Prerequisites:

Students should have a minimum of six months hands-on coding experience in the language they will be using in production (e.g. Java, C#, Python, etc.).

Course Objectives:

Upon completion of this course, participants should:

  • Know how to use Selenium WebDriver automation tool and write test scripts using Java, Python or C#
  • Understand the motivation for test automation
  • Know how to work with Page Objects
  • Have ample practice using Selenium Grid
  • Be able to develop Frameworks using WebDriver and Java
Course Outline:
  • Introduction
    • Selenium
    • Test Automation
    • Testing Approaches
    • Should I Automate?
  • Selenium Installation
    • Browser Specific
    • Non-Browser Specific
    • Standalone
  • WebDriver – Beginning
    • Browsers
    • Drivers and Plugins
    • Basic Operations
    • Open and Closing Window
    • Maximizing the Window
    • Navigating Back and Forward
    • Get Current URL
    • Get Page Source
    • Resize and Move Window
  • WebDriver Elements
    • Element Identification
      • By XPath
      • By CSS
      • By ID
      • By Name
      • By Tag Name
      • By Class Name
      • By Link Text / Partial Link Text
    • XPath Fundamentals
    • Element Operations
    • Keys and Data Entry
    • Performing Actions
      • Drag and Drop
      • Double Click
      • Mouse Over/ Mouse Hover
      • Context Menu
    • WebDriver – Advanced
      • Setup
      • Browser Launching
      • Waits
      • Support Classes
      • HTTP Proxies
      • Page Loading Strategy
      • Web Elements
      • Keyboard
      • Mouse
      • JavaScript Executor
      • Exceptions
      • Switching Context
      • Screen Shots
  • Remote WebDriver
    • Server
    • Client
  • Testing Considerations
    • Page Object Models
    • Page Factory Model
    • Domain Specific Language
    • Data-Driven?
    • Generating Application State
    • Mock External Services
    • Improved Reporting
    • Avoid Sharing State
    • Test Independency
    • Using a Fluent API
    • Browser State
  • Testing Gotchas
    • Captchas
    • File Downloads
    • HTTP Response Codes
    • Logins
    • Test Dependency
    • Performance Testing
    • Link Spidering
  • Selenium Grid
    • Pros and Cons
    • Components
    • Create Your Own