Python Desktop Application Testing with Appium

Beginning/Intermediate 4 days

In this course you will learn to

  • Install and set up the Appium framework
  • Create variable and keyword sections in an Appium file
  • Understand the basics of Appium syntax
  • Write and execute an Appium test
  • Find locators using the developer console and XPath helper
  • Understand the benefits of the page object model
  • Build a test automation framework
  • Incorporate test automation with best practices
  • Apply API test automation

Training materials

All Python training students will receive comprehensive courseware.

Suggested attendees

Students who understand general testing concepts and have basic proficiency with at least one other programming language. Experience writing automated scripts (in any test framework) is desirable.

Course Outline

  • Appium framework fundamentals
    • Install and setup Appium framework
    • The settings section of an Appium file
      • Importing resources
      • Importing existing Appium libraries (e.g., WinAppDriver library)
      • Suite setup and suite tear down
      • Test setup and test tear down
    • Creating a variables section in an Appium file
    • Creating a keywords section in an Appium file
    • Basics of Appium syntax
      • Using existing Appium keywords
      • Importing Appium libraries
    • Creating a test cases section in an Appium file
      • Test cases naming convention
      • Documenting test cases with documentation attribute
      • Tags attribute
      • Writing a simple Appium test
    • Executing an Appium test
      • Using the terminal execute tests
    • Analyzing results
      • Viewing the log file
      • Finding the root cause of test script failures
      • How to read and explain the report file to your project team
  • Locators/finding elements in a WPF desktop application
    • Setting up a locator file
    • How to find locators using developer console and XPath helper
    • Using ID’s
    • When and how to use XPath axes for locators
    • Dealing with elements that have the same attributes
  • Page object model pattern
    • What is the page object model?
    • What are the benefits of the page object model?
    • How to benefit from utilities library when using page object model
  • Building a test automation framework
  • Working with Keywords from existing libraries
    • Creating your project’s utilities library
    • Extending Appium with custom keywords
    • Creating page object files
    • Creating organized test case files
    • Generating test data
  • Enhancing test automation with best practices
    • Creating test automation scripts that are adaptable for many test cases
    • Enhancing your project’s utilities library
    • Reducing the number of locators you have with “polymorphic” locators
    • Making scripts more robust with proper waits
    • Using keyword Args for Appium functions
    • When to use exception handling
    • Generating Appium docs to help with documentation
    • GIT lab integration
  • API testing fundamentals
    • API test automation explained
    • Benefits of API test automation
    • When to use API test automation vs. UI automation?
  • API test automation
    • Setting up a simple API test in JMeter
    • Creating an API test suite
    • Using API tests to generate test data

We provide a remote virtual machine for students. Students need a browser and an SSH client for access. We strongly recommend having two monitors or devices so that lab work is done on one screen while watching the instructor’s screen on the other.