Как предоставить системные разрешения Android с помощью Python

Я новичок в Python и пытаюсь сделать тест автоматизации для приложения, использующего Appium 1.3.1 и Python 3.6 на симуляторе Android 7.1.1. На данный момент я застрял во всплывающем окне системных разрешений и не знаю, как выбрать элемент "ALLOW" в Python (не то же самое, что выбрать обычную кнопку внутри приложения). Приложение не запускается до тех пор, пока не будет предоставлен доступ к файлам, но я не уверен точно, где установить это в коде и как записать его в Python. У кого-то есть пример кода или какая-то идея, как это сделать? Это то, что я сделал до сих пор:

import os
import unittest
from appium import webdriver
from time import sleep

class meTest(unittest.TestCase):

def setUp(self):
    desired_caps = {}
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '7.1.1'
    desired_caps['deviceName'] = 'Android Emulator'
    # Returns abs path relative to this file and not cwd
    desired_caps['app'] = ‘example.apk'

    self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

 def test_OpenDocuments(self):
    sleep(10)
    documentSearchButton = self.driver.find_element_by_id(
        ‘example.example').click()


def tearDown(self):
    self.driver.quit()


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

Благодарю.

2 ответа

Чтобы предоставить разрешение (в моем случае для кнопки "РАЗРЕШИТЬ" в диалоговом окне разрешений Android) необходимо получить доступ к требуемым_капам в веб-драйвере Appium. Он автоматически предоставил все разрешения для этого приложения.

desired_caps['autoGrantPermissions'] = 'true'

Насколько я знаю, вы обычно можете устанавливать разрешения с помощью os.chown(). В вашем случае (Python 3.6) может работать следующее:

os.chmod("path/to/your/file", 0o666)

Конечно, вам нужно изменить права доступа в соответствии с вашими требованиями, "0o666" - это просто пример возврата, например:

-rw-rw-rw- 1 ag ag 0 Mar 25 05:55 your_file
Другие вопросы по тегам