Appium Essentials

Book description

Explore mobile automation with Appium and discover new ways to test native, web, and hybrid applications

In Detail

Nowadays, mobile automation is growing at a fast pace; this is where Appium comes in. It is a tool that performs automated mobile testing for Android and iOS.

Appium Essentials is a practical guide that will help you to perform mobile automation testing and gain a good understanding of mobile automation concepts. This book will teach you how to use Appium drives on native, web-based, and hybrid apps.

You will then explore Appium usage with different mobile applications, get acquainted with using an emulator to automate mobile apps, and learn about mobile gestures such as tap, zoom, and swipe. Finally, you will test your apps on a physical device and experience the look and feel of an end user!

What You Will Learn

  • Understand the desired capabilities that need to be acquired before starting Appium
  • Get to know and use the settings that are required to automate mobile applications
  • Interact with mobile applications by identifying elements using different locator strategies and techniques
  • Install mobile apps onto an emulator/simulator or a real device using Appium scripts
  • Test scripts written to automate applications
  • Configure mobile devices and perform automation testing on them
  • Explore the advanced features of Appium such as scroll, zoom, and swipe

Table of contents

  1. Appium Essentials
    1. Table of Contents
    2. Appium Essentials
    3. Credits
    4. About the Author
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers, and more
        1. Why subscribe?
        2. Free access for Packt account holders
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Appium – Important Conceptual Background
      1. Appium architecture
        1. Appium on iOS
        2. Appium on Android
      2. The Selenium JSON wire protocol
      3. Appium session
      4. Desired capabilities
        1. Android capabilities
        2. iOS capabilities
      5. The Appium server and its client libraries
      6. Summary
    9. 2. Getting Started with Appium
      1. Appium – pros and cons
      2. System requirements for Android/iOS
        1. Android requirements on Windows and Mac
        2. iOS requirements
      3. Installing different software
        1. Appium installation for Android
          1. Installing JDK on Windows
          2. Installing the Android SDK
          3. Setting the system variables for Mac
        2. Appium for iOS
          1. Installing Xcode
          2. Installing Homebrew
          3. Node and npm
        3. Appium for different OSes
          1. Appium for Windows
          2. Appium for Mac
        4. Downloading the necessary JAR files
      4. Creating emulators and simulators
        1. An iOS simulator
        2. An Android emulator
      5. Setting up an Eclipse Java project
      6. Summary
    10. 3. The Appium GUI
      1. The Appium server
        1. The Appium GUI for Windows
          1. Android Settings
            1. Application
            2. Launch Device
            3. Capabilities
            4. Advanced
          2. General Settings
            1. Server
            2. Logging
          3. Developer settings
          4. About
          5. Inspector
            1. The Launch/Stop button
            2. The Clear button
        2. The Appium GUI for Mac
          1. Android Settings
          2. iOS Settings
            1. Application
            2. Device Settings
            3. Advanced
          3. Robot Settings
          4. Save/Open configuration
          5. Appium doctor
          6. Inspector
          7. The Recording panel
      2. Summary
    11. 4. Finding Elements with Different Locators
      1. Finding elements for Android web-based apps using the Chrome ADB plugin
      2. Finding elements for iOS web-based apps using Safari's Develop option
        1. Finding elements by ID
        2. Finding elements by name
        3. Finding elements by linkText
        4. Finding elements by Xpath
        5. Finding elements by cssSelector
      3. Finding elements for native and hybrid apps
        1. Finding elements with UIAutomatorviewer
          1. Finding elements by ID
          2. Finding elements by name
          3. Finding elements by className
          4. Finding elements by AccessibilityId
          5. Finding elements by AndroidUIAutomator
        2. Finding elements with Appium Inspector
          1. Finding elements by Xpath
          2. Finding elements by name
          3. Finding elements by IosUIAutomation
      4. Summary
    12. 5. Working with Appium
      1. Important initial points
        1. Necessary desired capabilities for Android and initiating the Android driver
          1. Desired capabilities for native and hybrid apps
          2. Desired capabilities for web apps
        2. Necessary desired capabilities for iOS and initiating the iOS driver
          1. Desired capabilities for native and hybrid apps
          2. Desired capabilities for web apps
      2. Automating native apps
        1. Native Android apps
        2. Native iOS apps
      3. Working with web-apps
        1. Web apps on Android
        2. Web apps on iOS
      4. Hybrid apps' automation
        1. Android hybrid apps
        2. iOS hybrid apps
      5. Summary
    13. 6. Driving Appium on Real Devices
      1. Important initial points
        1. Desired capabilities for Android and initiating the Android driver
          1. Desired capabilities for native and hybrid apps
          2. Desired capabilities for web apps
        2. Installing provisional profile, SafariLauncher, and ios-webkit-debug-proxy
          1. Provisional profile
          2. SafariLauncher app and ios-webkit-debug-proxy
        3. Desired capabilities for iOS and initiating theiOS driver
          1. Desired capabilities for native and hybrid Apps
          2. Desired capabilities for web apps
      2. Automating native apps
        1. Android native apps
        2. iOS native apps
      3. Working with web apps
        1. Web apps on Android
        2. Web apps on iOS
      4. Automating hybrid apps
        1. Android hybrid apps
        2. iOS hybrid apps
      5. Summary
    14. 7. Advanced User Interactions
      1. Exploring advanced user interactions
        1. Long press
        2. Scroll and swipe
        3. Drag and drop
        4. Pinch and zoom
        5. Alerts
        6. Spinners
        7. The switch button
        8. The slide SeekBar
        9. Capturing screenshots
        10. Capturing screenshots on test failure
      2. Summary
    15. Index

Product information

  • Title: Appium Essentials
  • Author(s): Manoj Hans
  • Release date: April 2015
  • Publisher(s): Packt Publishing
  • ISBN: 9781784392482