Execute on Real Device
Last updated
Was this helpful?
Last updated
Was this helpful?
This chapter would help you understand how to execute the test on real Android Devices, after all the biggest advantage of Appium is that you can run the same test on local devices.
For test to run on devices, we need to make sure :
USB Debugging is enabled
ADB lists your devices into the connected devices
Changing the Desired capability as per the hardware
By default, Android devices do not have USB Debugging enabled, these are under Developer Options. To turn them on,
Navigate to Settings app on phone
Scroll down and click on the Developer Options
Turn on the Developer Options and click the USB Debugging.
On the pop up (shown below), click on Ok.
Some devices do not have “Developer Options” and hence the way to enable Debugging mode is to launch the Settings screen. Once done, tap “About Phone" and then scroll to the bottom and tap on "Build Number" 7 times (Yes 7 times)!
Once done, you will now be able to enable/disable it whenever you desire by going to
Once the above set ups are done, launch Terminal (or Command Prompt) and type in
On a happy path, it would show the below result.
There are times when even after starting USB mode on your device, adb wouldn’t list the device here. To fix that, below are some of the steps you need to follow:
Open the USB manager on your laptop.
Use the vendor id (highlighted in blue below) and update in the adb_usb.ini file.
Steps for MAC OS X to open the USB Manager:
Click on the Apple icon on top left of the screen
Click on “About This Mac”
On the pop up, click on the System Report
Under Hardware section, click on USB
You would notice the device connected there, click on the device.
Once you have copied the vendor ID, we need to update the file below using the following command:
This is how a sample file would look like after updating the Vendor ID.
Once the above changes are done, run the following commands:
This would finally show up the devices as connected. Once the device shows up as online, we are good to run the test.
Start the Appium and in that launch the Android Server.
In case you have any android version mentioned in your code, you can remove it and have only the one, which are mandatory. Below is a sample snippet I have used and works flawlessly.
Whenever appium starts the appium.settings and unlock apps are installed in the device. For any test appium settings and unlock are the first apps appium server will interact then it will open the desired app as required