1

我是 Python 新手,并试图在 Android 7.1.1 模拟器上使用 Appium 1.3.1 和 Python 3.6 对应用程序进行自动化测试。此时我被困在系统权限弹出窗口中,不知道如何使用 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)

谢谢。

4

2 回答 2

3

要授予权限(在我的情况下是 Android 权限对话框中的“允许”按钮),必须访问 Appium webdriver 中的 desired_caps。它自动授予此应用程序的所有权限。

desired_caps['autoGrantPermissions'] = 'true'
于 2018-01-31T15:35:47.390 回答
-1

据我所知,您通常可以使用 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
于 2018-01-31T11:46:18.770 回答