This site is in read only mode. Please continue to browse, but replying, likes, and other actions are disabled for now.
1 / 6
Feb 2016

I want to test application when battery is low. Is it possible to change battery level using Appium?

  • created

    Feb '16
  • last reply

    Oct '17
  • 5

    replies

  • 1.6k

    views

  • 3

    users

  • 2

    likes

If you are running your test case locally, you can call adb. The following two commands can be used to change the battery level and update the rest of the system:

adb shell am broadcast -a android.intent.action.BATTERY_CHANGED --ei status 3 --ei level --ei scale 100
adb shell am broadcast -a android.intent.action.BATTERY_LOW

Thanks for your reply.

Is there a method to do this inside my test class on Eclipse or can we use just command prompt for this purpose?

As far as I know, this is not built into Appium. You will need to either explore appium-adb or make a system call from your test code.

1 year later

Hi ,
i have a question on this issue , i need to change the battery charging state to discharging in the Intent.ACTION_BATTERY_CHANGE ( i need to run a test , that the phone is not charge but i use usb that charge the phone) , i try to use adb commands like "“adb shell am broadcast -a android.intent.action.BATTERY_CHANGED --ez present false --ei state 3 --ei level 40 --ei plugged 0” or “adb shell dumpsys battery set status 3 | set usb 0” but the intent isn’t change , can appium help with that or there is another way to handle this issue?

22 days later

It may be due to the version of Android you are using. I’ve stopped working with Android recently, but I recall we were having problems with Android N or maybe O because of Android changes. As far as I know, Appium has nothing here to help you.