• Home
  • Testing
  • SAP
  • Web
  • Must Learn!
  • Big Data
  • Live Projects
  • AI
  • Blog

Using any real device for mobile automation Testing is always been a challenge for testers. But, Android offers a handful solution to connect a real device over USB i.e. Android Debug Bridge (ADB).

ADB is a command line tool. It is used to bridge communication between an emulator instance (Android device) and background running daemon process (server).

USB debugging and ADB Configuration-

APPIUM offers an advantage to execute test on real devices. But prior to run the test, we need to setup following pre-requisite.

  • USB debugging should be enabled
  • ADB configuration
  • Desired capability setup as per the hardware changes.

Here we will see both, connecting to emulator as well as with real device for testing. See steps below for connecting to an emulator.

Connecting to an Emulator

Pre-Requisite- SDK (Software Development Kit) should be installed on the machine. ADB is packaged with Google's Android SDK (Software Development Kit). Steps to enable ADB from SDK Manager.

Step 1) Open Android SDK folder

Step 2) Double click on SDK Manager

Step 3) From the list of all packages select Tools and mark the checkbox for

  • Android SDK Tools and
  • Android SDK Platform-tools.

Appium Desired Capabilities, Maven & ADB

To Connect Android Device-

Step 1) Enable USB debugging option from 'Developer Option' in Android phone.

Appium Desired Capabilities, Maven & ADB

Step 2) Open the local folder where Android SDK files has been saved 'Android SDK >> Platform-tools' eg: C:\android-sdk\platform-tools

Appium Desired Capabilities, Maven & ADB

Step 3) Inside folder hold Shift + Right click menu >> Select 'Open command window here' option.

It will open the folder using command prompt.

Note- you can also open the folder path directly from the Run command in command prompt.

Appium Desired Capabilities, Maven & ADB

This command window will directly open the folder in command prompt window.

Appium Desired Capabilities, Maven & ADB

Step 4) Now, prior to check the device, user have to connect an external Android device (mobile phone). To connect use the device USB cable connector to the system. Then in above command prompt type command-

'adb devices' & press Enter

It will display all list of all the connected devices.

Appium Desired Capabilities, Maven & ADB

But, prior to this we should check that ADB server. Check whether it is running as background process or not. Just open the command prompt from above mentioned procedure and write 'adb' and press enter. It should display all the adb's process running.

When server starts, it always bind the local TCP port 5037. All ADB clients listen to 5037 TCP port to communicate with server request.

Now, the running ADB server can scan all connected emulator or device instances by scanning the port.

Always remember that ADB daemon runs on odd numbered port between the ranges of 5555 to 5558.

ADB daemon process runs with console connection that acquires even number port for connection.

For example: If single device connected then server automatically scan the device and get connected but if multiple device or emulator running the user need to give ADB command line instruction to connect.

The emulator instance connected on odd numbered port 5557 has the same console running over even numbered 5556 port ie. Each running devices has 1 odd and 1 even connected port.

emulator 1: console 5556
emulator 1: adb 5557
emulator 2: console 5554
emulator 2: adb 5555

Command to detect all connected device -

<$ adb devices>
emulator-5554 device
emulator-5556 device
emulator-5558 device

Command detecting a single device from multiple connected devices-

<$ adb –s emulator-5554 install Guru99.apk>

It will detect the adb connection for device -5554 and install the application.

So, this way user can set up a successful connection to access ADB instances using ADB commands.

Syntax used to access ADB instances from commands line:
Adb [-d – An adb command when a single USB device is connected
Adb [-e – An adb command when only single emulator is running
Adb devices--- This will print all the list of emulator / devices attached.
Adb version--- List the adb version number.
Adb help---- Print the list of supported commands.

Configuring ADB for Wi-Fi Support

Just like configuring ADB over USB, user can also configure ADB over wi-fi.

Pre-requisite

  • Both Android device and the host computer should be connected to same wireless network and
  • Device Bluetooth option should disabled.
Steps to connect-
  1. Connect device using USB cable to the host computer. Confirm USB debugging is enabled in device.
  2. Set target device to connect TCP/IP on port 5555
    $ adb tcpip 5555

Appium Desired Capabilities, Maven & ADB

  1. Now, disconnect the USB cable from the device.
  2. In Android device find the IP address from Settings >> wi-fi Setting >> Advanced >> IP Address.

    Use the same IP address to connect the device via ADB connection

    eg: Network IP address is- 148.100.1.17
    $ adb devices
    List of devices attached
    148.100.1.17:5555 device

Hence, the final configuration done and 'adb' successfully configured over wireless network.

NOTE- If any connection error occurred just reset or kill the adb host connection. For that use following command

<adb kill server> and again connect from first step.

 

YOU MIGHT LIKE: