Appium版本升级,需要注意哪些点:使用UiAutomator2Options通报capabilitie ...

打印 上一主题 下一主题

主题 1027|帖子 1027|积分 3081

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
mac上安装的是较新的Appium版本,在跑之前写的Android UI 自动化代码时报错:AttributeError: 'dict' object has no attribute 'to_capabilities'。
查了一下资料,这是因为较新的 Selenium 和 Appium 版本要求使用 Options 类来定义本领,而不是直接使用字典。
【办理方法】
需要将字典形式的 android_opts 转换为 Options 实例。修改方法:
1、引入精确的 Options 类
确保导入了 Appium 提供的 UiAutomator2Options 的 Options 类:
  1. from appium.options.android import UiAutomator2Options
复制代码
2、转换字典为 Options
在创建驱动的函数中,将 android_opts 转换为 UiAutomator2Options 实例:
  1. def create_android_driver(android_opts=None):
  2.     # 创建对象
  3.     options = UiAutomator2Options()
  4.     if custom_opts is not None:
  5.         options.load_capabilities(android_opts)
  6.     return webdriver.Remote(f'http://{APPIUM_HOST}:{APPIUM_PORT}', options=options)
复制代码
这样不在报错,驱动创建乐成。
【总结】
在新的 Appium 客户端库中(appium-python-client),caps 参数由 Options 类来管理,不在直接通报字典。假如使用的是较旧的方式,就大概出现这个错误,AttributeError: 'dict' object has no attribute 'to_capabilities'。 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

愛在花開的季節

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表