When emitting ADB commands the commands should point at the same directory AndroidStorageInfo is pointing.
/storage/sdcard on API Level < 22 (? - verify API level)
/storage/emulated/0 on API level >= 22 (? - verify API level)
Actual behaviour
On the stock Google Android Emulator 5.1 (API Level 22), the saved screenshots are pointing in the right path position /storage/sdcard/, however, the rm and pull adb commands are pointing to the wrong folder /storage/emulated/0.
This causes tests to fail.
Steps to reproduce
Install android emulator default, android-22;
Run the ui tests
Notice that Shot is trying to rm and pull from /storage/emulated/0. This folder doesn't exist
Version of the library
6.0.0
Suggestions
Approach 1 - Change path depending on API version
I would make the changes on my own, but I'm not that confident with Scala. So I've made some attempts and I think this might work by changing just this file core/android/ADB.scala
Create a new function to dynamically gather the path
Expected behaviour
When emitting ADB commands the commands should point at the same directory
AndroidStorageInfo
is pointing./storage/sdcard
on API Level < 22 (? - verify API level)/storage/emulated/0
on API level >= 22 (? - verify API level)Actual behaviour
On the stock Google Android Emulator 5.1 (API Level 22), the saved screenshots are pointing in the right path position
/storage/sdcard/
, however, therm
andpull
adb commands are pointing to the wrong folder/storage/emulated/0
.This causes tests to fail.
Steps to reproduce
Install android emulator
default
,android-22
; Run the ui testsNotice that Shot is trying to
rm
andpull
from/storage/emulated/0
. This folder doesn't existVersion of the library
6.0.0
Suggestions
Approach 1 - Change path depending on API version
I would make the changes on my own, but I'm not that confident with Scala. So I've made some attempts and I think this might work by changing just this file
core/android/ADB.scala
Create a new function to dynamically gather the path
replace all the usages of
$baseStoragePath
with${baseStoragePath(device)}
remove
object Adb { ... }
Approach 2 - Probably much more reliable and generic
Not sure how to implement this correctly, but probably I would:
storage/emulated/0
exists on the devicestorage/sdcard
.storage/sdcard
folder doesn't exist as well, something's definitely wrong, so we shouldn't proceed with executing testsThank you very much for the support.