Search code examples
androidpythonautomationfunctional-testingpython-appium

Functional test of an android app using appium and python


This is the python code to check if the recording works fine :

   def setUp(self):"Setup for the test"
       desired_caps = {}
       desired_caps['browserName']=''
       desired_caps['platformName'] = 'Android'
       desired_caps['platformVersion'] = '4.4.2'
       desired_caps['deviceName'] = 'd65d04425101de'
       # Returns abs path relative to this file and not cwd
       desired_caps['app'] = '/home/karthik/appiumworkspace/tests/app-debug (2).apk'
       desired_caps['appPackage'] = 'com.prueba.maverick'
       desired_caps['app-activity'] = '.SplashActivity' 
       desired_caps['app-wait-activity'] = '.MainActivity' 
       self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

   def tearDown(self):
       "Tear down the test"
       self.driver.quit()


    def test_whether_app_is_installed(self):
        "Test if the app has been installed correctly"
        self.driver.is_app_installed('com.prueba.maverick')

        print('APP HAS BEEN INSTALLED')


    def test_record_the_audio(self):
       "Test it clicks on Record button correctly"
        element = WebDriverWait(self.driver, 15).until(EC.presence_of_element_located((By.NAME, "PRESS TO RECORD")))
        element.click()
        time.sleep(10)
        element = WebDriverWait(self.driver, 15).until(EC.presence_of_element_located((By.NAME, "RECORDING PRESS TO STOP")))
        element.click()
        print('AUDIO RECORDED SUCCESSFULLY')        

   if __name__ == '__main__':
       suite = unittest.TestLoader().loadTestsFromTestCase(MaverickAndroidTests)
       unittest.TextTestRunner(verbosity=2).run(suite)

It works fine till here..

Now I have to check in the physical device, whether the recording is actually present or not..

I have to go to the device File Manager, to check for the presence of the recorded audio (recording.mp3)

How can I write the test case for that ??


Solution

  • You can open the File Manager app and navigate to the app folder and check for the presence of recording.mp3 file in that folder.