Skip to main content

Appium Tutorials

Why another doc on Appium?

My journey towards learning appium began with great excitement but road was quite bumpy too. Undoubtly has tons of information but it is enervating to find exact piece of information one is looking for m-site or app automation. Scanning through appium docs, stack overflow and tons of other online doc, one would be eventually able to find how to launch browser mobile browser on m-site. It took me three days to be able to launch website on chrome browser on android phone. But the struggle was worth it :-) And this was the main motivation behind writing this doc. A step by step description of how Appium could be set up to run tests on mobile site or app on a real mobile device or emulator. So lets begin learning Appium.

Appium Video Tutorials

Appium Training Topic
Appium Training Video

Appium and Android Web test run

  • Why Appium? > WebDriver for mobile devices

 - Appium server written in node js exposes Rest API to interact with AUT
 - Start Appium server
 - Inspect element
 - Desired Capabilities
 - Enable developer mode on Android and enable USB debugging >

adb > command line tool that lets you communicate with an emulator or android device
 - Install android debug bridge
 - adb devices

Execute Android Web test



Appium and Android mobile app test run

  • Start appium and start appium inspector
  • Desired Capabilities
    • platformName - Android
    • deviceName - L2N0219828001013 (as seen on "adb devices")
  • Saved Capability Sets
  • Start Session
  • Scan app elements using appium inspector
  • Get appPackage and appActivity using "APK info" app
    • Install "APK info" app and open app whose appPackage and appActivity are required i.e. calculator
    • Check top section of app icon
      • is app package
      • is app activity
  • testng.xml file settings for running Android app tests
  • Test details and CalculatorScreen class
  • View beautiful STF test report




Popular posts from this blog

Selenium Tutorial: Pattern Mathing using Selenium

Note: If you are new to java and selenium then start with selenium java training videos .   I must confess I have never been admirer of Regular Expression but then there are times you can not escape from it, especially while working on a website which has dynamic contents appeared in static text and you want to validate it. like - "Validate that this text appears and there is 123 here and 456 here" And the test condition is 123 and 456 could be any three digits but number if digits should not be more than three. In a crude way we can at least test this - Assert.assertTrue(selenium.getText("elementLocator").contains("Validate that this text appears and there is")); but what if text goes wrong after "and there is"... what if more than 3 digits appear in text. This is where pattern matching/regular expression comes for our rescue and we can use matches method of String class to achieve same. So the assertion would be - String text =

Using chrome console to test xPath and css selectors

Note: If you are new to java and selenium then start with selenium java training videos .       Since the advent of selenium there have been many plugin to test xPath / css selectors but you don’t need any of them if you have chrome browser. Using Chrome console you can test both xPath and css selectors. Launch website to be tested in chrome browser and hit F-12 and you would see chrome console opened in lower pane of application - Hit escape key and console would open another pane to write element locators - And now you can start writing xPath or css selectors in chrome console and test them - The syntax for writing css id - $$(“ ”) And hit the enter key. If your expression is right then html snippet of the application element corresponding to the css selector would be displayed - If you mouse over the html snippet in chrome console then it would highlight the corresponding element in application - If you want to clean console of previously wri

Return only first or last element from webelements collection

Note: If you are new to java and selenium then start with selenium java training videos .     We often come across situation when there are multiple elements on a page and we probably like to exercise only a few of them using selenium webdriver. May be just first and last element. For example on a search result page we may like to click on only first and last link and not all. This is when Iterables API comes handy. (By the way I am assuming that you have already completed watching selenium training videos :)). Once we have collection of web element then we can use Iterables to get only first or last element as following - Consider that we fetch collection of element as - List< WebElement > webElements = getDriver().findElements(By. id ( "htmlID" ));   Now we can get the first web element from this collection as -  WebElement firstElement = Iterables. getFirst (webElements,  getDriver().findElement(By. id ( "defaultElement" )));   Herein second