我是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