I am writing an automation test using python, where an android app records an audio and stores it in a specific directory within the internal storage (sdcard0) of the android device.

I need to check whether the recording (recordingX.mp3) actually exists with the same name within the specific directory or not.. If YES, the latest file should be given a new name.

As part of this, I tried writing code.. But I was not able to locate the exact path for the recorded audio..
This is the tree structure of the actual location..

        -> Internal Storage
            -> Maverick
                ->recording1.mp3
                ->recording2.mp3
                .
                .
                .
                .








  >>> import os
    >>> print os.path.exists('sdcard/Maverick')
    False
    >>> print os.path.exists('sdcard/Maverick/recording0.mp3')
    False
    >>> print os.path.exists('sdcard0/Maverick')
    False
    >>> print os.path.exists('sdcard0/Maverick/')
    False

Please help me out in writing the code..

Edited 8 Months Ago by Karthik_4

This is what i get, when I run - "print(os.listdir('/'))"

>>> import os
>>> print(os.listdir('/'))
['tmp', 'root', 'run', 'bin', 'lost+found', 'etc', 'boot', 'proc', 'mnt', 'cdrom', 'sys', 'lib64', 'srv', 'lib', 'home', 'var', 'usr', 'dev', 'media', 'lib32', 'sbin', 'opt', 'vmlinuz', 'initrd.img']
>>> 

I am using ubuntu14.04.. The result what i get are the directories within ubuntu..
I need to go to directory within my android device..

Do you have any idea on how to get into android device (internal storage) directory..?? Using python test code.. In ubuntu14.04..
I have connected my device to the notebook, and I have checked USB debugging..

Edited 8 Months Ago by Karthik_4

No I don't know how to do that. I tried with a Samsung phone but it does not work. From what I read elsewhere, a solution is to install sshdroid on your android device (this is a ssh server) and connect the device through ssh from any computer.

With a kde desktop (kubuntu), there may be a solution using module PyKDE4.solid. This module can discover and connect hardware devices connected to the computer See Here.

On my computer, I can run

from PyKDE4.solid import *

for d in Solid.Device.allDevices():                                                                                                              
    print d.udi()

this prints a list of all devices.

It should work because KDE's solid library is used by the dolphin file manager to access the Samsung phone as a camera device and display its files hierarchy.

I got the solution for, "Checking for recording in specific directory".. You need to mount your phone for that.. Below is the code..

 os.chdir("/media/")
      os.system("killall gvfs-gphoto2-volume-monitor")
            os.system("killall gvfs-mtp-volume-monitor")
            dir = os.path.dirname("mountName/")
            if not os.path.exists(dir):
                os.system("sudo mkdir mountName")
            os.getcwd()
            os.system("sudo chmod 777 mountName")
            os.system("sudo mtpfs -o allow_other /media/mountName")
            os.system("ls")

            #You will get the list of Contents within your physical device..

Edited 7 Months Ago by Karthik_4

This article has been dead for over six months. Start a new discussion instead.