Giter Site home page Giter Site logo

youtube-appium-framework's Introduction

How to create mobile automation framework

This repository is a product of a YouTube series: Appium Tutorial - How to Create Mobile Automation Framework.

This series takes you from creating new project to full fledged automation framework. Everything is done step by step and accessible format. Conceptually the design of this framework can be applied to any other automation category, not just mobile.

You are free to use this work and modify it as long as you credit the original creator by:

  1. Providing link back to My GitHub
  2. Providing link to the YouTube channel

Table of Content

  • Getting Started
    • Creating initial project structure with all the packages and classes.
  • UI Selectors
    • Wrapper for UiSelector to simplify integration with Appium.
  • UI Object - Part 1
    • Wrapper for UI Objects to simplify actions like tap, scroll, type, pinch and more.
  • UI Object - Part 2
    • Finishing up the wrapper by adding more functions like wait for element to appear.
  • ADB Integration - Part 1
    • Adding Server Manager and starting ADB integration
  • ADB Integration - Part 2
    • Continue adding more functions to ADB classes to better understand the stats of the mobile device
  • ADB Integration - Part 3
    • Finishing up ADB integration by adding extended support for logcat
  • Integrating Log4J
    • For better debugging capabilities, adding logging functionality
  • Testing Code thus far
    • Going to test everything we wrote so far and fix any outstanding issues
  • Driver Manager
    • Support class for managing the Android Driver
  • Application Page Objects - Part 1
    • Start to build out the application's page object matrix for Speedtest.net's mobile app. Will be utilizing the wrappers that we built in the very early stages of this framework.
  • Application Page Objects - Part 2
    • Continue to build page objects and map activities of the Speedtest mobile app.
  • Application Page Objects - Part 3
    • Finishing up the matrix and validating that we have proper return types from all of the activities.
  • Implementing Test Info class
    • Metadata class for keeping baisc information about the test such as: name, id, test suite, etc
  • Test Manager
    • It will manage all of our test preconditions and what to do when test passes/fails. Will utilize JUnit for this.
  • Create test cases
    • Will use Page Objects that we have created in order to write some basic UI tests. We will navigate through a number of screens and verify that specific elements exist. We will also do one functional test and verify all the elements.
  • Operationalizing Appium Server
    • Start Appium server programmatically thus having no need to do it manually in the terminal.
  • Packaging the framework
    • Will build the jar
  • Running framework
    • Will run framework from the jar
  • Parallel Testing
    • How to run framework in order to run tests in parallel on different devices
  • XML Reports
    • Creating XML reports in Jenkins Format

More tutorials can be found on my YouTube channel

youtube-appium-framework's People

Contributors

arturspirin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.