Start Appium Programmatically

Follow the below steps to run appium programmatically

  • Install nodejs https://nodejs.org/en/download/
  • Install node appium package ( npm install -g appium)
  • Make sure java environment variable is set

Note : If you see any permissions issues in Mac

Don't launch the Appium Desktop server when you're launching through a program.


Run this command :

 sudo chown -R $USER /usr/local/lib/node_modules


Example : In the below example we are launching the app on an Android device without an appium desktop server and clicking on a button using id locator.

As we launch the Appium using code with help of nodejs.

  • Import Appium Service class
  • Create object for Appium Service class
  • Call Start method by using Appium Service class object
  • Launch the App on an Android device.
  • Click on the button using ID locator
  • Wait for 2 seconds
  • Close the App
  • Call stop method by using Appium Service class object

Start_Appium_Programatically.py

import time
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy

# Step 1 : Import Appium Service class
from appium.webdriver.appium_service import AppiumService

# Step 2 : Create object for Appium Service class
appium_service = AppiumService()

# Step 3 : Call Start method by using Appium Service class object
appium_service.start()

# Step 4 : Create "Desired Capabilities"
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['automationName'] = 'UiAutomator2'
desired_caps['platformVersion'] = '10'
desired_caps['deviceName'] = 'Pixel3XL'
desired_caps['app'] = ('/Skill2Lead/Appium_Demo_App/Android/Android_Appium_Demo.apk')
desired_caps['appPackage'] = 'com.skill2lead.appiumdemo'
desired_caps['appActivity'] = 'com.skill2lead.appiumdemo.MainActivity'

# Step 5 : Create "Driver object"
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)

# Step 6 : "Click on the button using ID locator value"
ele_id = driver.find_element(AppiumBy.ID,"com.skill2lead.appiumdemo:id/EnterValue")
ele_id.click()

# Step 7 : Wait for 2 seconds
time.sleep(2)

# Step 8 : Close the driver object
driver.quit()

# Step 9 : Call stop method by using Appium Service class object
appium_service.stop()