Build your own Appium

2.0 Driver 

Meet Us

I'm Sai Krishna

Lead Consultant

@saikrisv

saikrishna321

I'm Srinivasan

Lead Consultant

@srinivasanskr

srinivasanTarget

Index

State of Appium

 

  • Appium v1.x support has come to end. 

 

 

  • Appium 2.0 is way forward

 

 

  • Plugins

 

 

  • Drivers

Introduction to Driver

UIAutomator2

Mac Driver

BUILD CUSTOM Driver

Interfacing IMPLEMENTATION

W3C COMMAND mapping

BUILD

Demo

  "dependencies": {
    "@appium/base-driver": "^8.0.0"
  },  
  "appium": {
    "driverName": "<<driver-name>>",
    "automationName": "<<automationName>>",
    "platformNames": [
      "Android"
    ],
    "mainClass": "AppiumDriverMainClass"
  },
  
export default class AppiumDriverMainClass extends BaseDriver {

 async createSession(jwpCaps, reqCaps, w3cCaps, otherDriverData) {
     const session = await super.createSession(w3cCaps);
     // Do driver creation logic here //
     return session;
   }
}

Step 1

Step 2

async setUrl(url) {
    return // logic to open the url
}

w3c CoMMAND Mapping

driver.getUrl('https://google.com')

Server

Client

appium driver install --source=local /path/to/your/driver
appium driver install --source=npm <driver-package-on-npm>
appium --use-drivers=<<driver-name>>

Driver Installation

Driver Activation

Available DRIVERS

Alt Unity

Chrome Devtool Protocol

Roku

Youl Engine

Available Plugins

Image Plugin

Relaxed Caps

Universal XML

Appium Wait

Appium Device Farm

Appium Gestures

Appium Dashboard

References 

https://github.com/AppiumTestDistribution/appium-cdp-driver/

https://github.com/AppiumTestDistribution/appium-driver-template

SELENIUM CONF WORKSHOP

Made with Slides.com