设置 Appium Inspector 后,我可以从 Inspector 访问我的 BlueStack 设备
{ “平台名称”:“Android”, “appium:设备名称”:“本地主机:5555”, "appium:平台版本": "7", "appium:ensureWebviewsHavePages": "true", "appium:automationName": "UiAutomator2" }
但是从 python 脚本访问设备会给我带来错误
“NoneType”对象没有属性“to_capability”
capabilities = dict(
platformName='Android',
automationName='uiautomator2',
platformVersion='7',
deviceName='localhost:5555',
# appPackage='com.android.settings',
# appActivity='.Settings',
# language='en',
# locale='US'
)
appium_server_url = 'http://localhost:4723'
class TestAppium(unittest.TestCase):
def setUp(self) -> None:
self.driver = webdriver.Remote(appium_server_url, capabilities)
def tearDown(self) -> None:
if self.driver:
self.driver.quit()
def test_find_battery(self) -> None:
el = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@text="Battery"]')
el.click()
if __name__ == '__main__':
unittest.main()
我可以做什么来解决这个问题? 谢谢楼上各位的回复
fyi:设备名称 - adb 设备-l 附加设备列表 emulator-5554 设备产品:OnePlus5 型号:ONEPLUS_A5000 设备:OnePlus5 Transport_id:1 本地主机:5555 设备产品:OnePlus5 型号:ONEPLUS_A5000 设备:OnePlus5 Transport_id:3
向检查员尝试,按照文档进行操作,但失败了
看来新版本的appium版本改变了函数签名
试试这个:
from appium.options.android import UiAutomator2Options
class TestAppium(unittest.TestCase):
def setUp(self) -> None:
options = UiAutomator2Options()
options.load_capabilities(capabilities)
self.driver = webdriver.Remote(appium_server_url, options=options)