Python Tester with Selenium

Course Number:

N/A

Audience:

This course is appropriate for individuals and organizations seeking a foundational understanding of testing an application’s front-end with Python and Selenium and is tailored to: developers with little to no experience in Python and front-end testers.
Course Duration:
5 days

Prerequisites:

Hands-on programming in a current language: Java, C#, Python, or similar.

Course Objectives:

Upon completion of this course, participants should:

  • Exercise the foundations of Python necessary to write tests
  • Understand the motivations for test automation
  • Know how to work with Page objects
  • Have ample practice using Selenium Grid
  • Be able to develop Frameworks using WebDriver and Python
Course Outline:

Part 1: Introduction to Programming in Python

  • What is Python?
    • The History of Python
    • Job Outlook
    • The Rise of Popularity
  • Comparison of Popular Languages
    • Benefits of Python
    • Python’s Unique Quirks
    • The Negatives
  • The Python Environment
    • Language Features
    • Install Python
    • Set up Visual Studio Code
  • Creating Python Modules
  • Hello, World!
  • Introduction to Common Terms
  • General Syntax
  • Keywords

Part 2: Python Fundamentals II

  • Python Variables
    • Identifiers
    • Assignment Operator
    • Dynamic Typing
  • Fundamental Data Types
    • Booleans
    • Numeric Types
    • Strings
    • Sequences
    • Binary Sequence Types
    • Set Types
    • Mapping Types
  • Type Conversion
  • Literals
  • Operators
    • Arithmetic
    • Assignment/Compound Assignment
    • Comparison
    • Logical
    • Membership
    • Identity
    • Bitwise/Bitshift
  • Complex Expressions
    • Operator Precedence
  • Comments

Part 3: Flow Control

  • Conditional Statements
    • if, elif, else
    • Ternary Operators
    • match (Python3.10+)
    • Logical Operators
  • Looping Statements
    • while
    • for
    • Using else on Loops
  • Scope
  • Nesting Loops
  • Controlling Loop Execution
    • break
    • continue

Part 4: Functions and Modules

  • What is a Function?
  • Defining Functions
  • Input to a Function
    • Parameters vs Arguments
    • Number of Parameters
  • Special Arguments
    • Arbitrary Arguments
    • Keyword Arguments
    • Arbitrary Keyword Arguments
    • Default Arguments
  • The Return Statement
  • Best Practices
  • Python Modules
    • Create Modules
    • Import Modules
    • Aliasing Modules
    • Scope
  • Python’s Built-in Modules
  • The dir() Function
  • Python Packages
  • Introduction to pip

Part 5: Introduction to Selenium

  • 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

Part 6: More on WebDriver

  • 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

Part 7: Advanced WebDriver

  • WebDriver – Advanced
    • Setup
    • Browser Launching
    • Waits
    • Support Classes
    • HTTP Proxies
    • Page Loading Strategy
    • Web Elements
    • Keyboard
    • Mouse
    • JavaScript Executor
    • Exceptions
    • Switching Context
    • Screen Shots
    • Handling Cookies
  • Remote WebDriver
    • The standalone Server
    • Working with the Remote Web Driver Client
    • JSON wire

Part 8: Writing Quality Tests

  • 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

Part 9: Selenium Grid and TestNG

  • Selenium Grid
    • Pros and Cons
    • Components
    • Create Your Own
  • WebDriver Events
    • Event Firing Web Driver
    • Event Listeners
      • WebElement changes
      • Clicked elements
      • Search events
      • Navigation events
  • Data-Driven Testing (TestNG)
    • Overview
    • Parameterizing Tests
    • Using CSV file
    • Using Excel

Part 10: Design Like a Pro – Cumulative Lab

  • Page Object Design Like a Pro
    • Overview and Setup
    • Design and build AUT (with abstract classes)
    • Design and build feature specific pages
    • Exception Handling
  • Cumulative Lab

Related Posts

About Us

IT Training, Agile Ways of Working and High Impact Talent Development Strategies

Let Us Come to You!

Classes recently delivered in: Atlanta, Boston, Chicago, Columbus, Dallas, Detroit, Indianapolis, Jerusalem, London, Milan, New York, Palo Alto, Phoenix, Pittsburgh, Portland, Raleigh, San Antonio, San Diego, San Francisco, San Jose, Seattle, Springfield, Mass., St. Louis, Tampa and more!