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
Share on facebook
Share on twitter
Share on linkedin
Share on email

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!