如何使用 Python 授予 Android 系统权限



我是Python的新手,并尝试在Android 7.1.1模拟器上使用Appium 1.3.1和Python 3.6对应用程序进行自动化测试。在这一点上,我被困在系统权限弹出窗口中,不知道如何使用Python选择"ALLOW"元素(与在应用程序中选择常规按钮不同(。在授予对文件的访问权限之前,应用程序不会启动,但我不确定在代码中设置它的确切位置以及如何在 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)

谢谢。

要授予权限(就我而言,Android 权限对话框中的"允许"按钮(,有必要访问 Appium 网络驱动程序中的desired_caps。它自动授予此应用的所有权限。

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

最新更新