我正在尝试使用 Appium 运行 Python 自动化,当我尝试运行脚本时,这是我收到的错误。
日志:
回溯(最近一次调用最后一次): 文件“E:\Projects\Python\Indee\pythonProject\TestCases estCase1.py”,第 31 行,位于 驱动程序 = webdriver.Remote(url, options=AppiumOptions().load_capability(cap)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ 文件“E:\Projects\Python\Indee\pythonProject.venv\Lib\site-packages ppium\webdriver\webdriver.py”,第 227 行,位于 init command_executor = AppiumConnection(command_executor, keep_alive=keep_alive) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ 文件“E:\Projects\Python\Indee\pythonProject.venv\Lib\site-packages ppium\webdriver ppium_connection.py”,第 43 行,位于 init super().init(remote_server_addr, keep_alive=keep_alive,ignore_proxy=ignore_proxy) 文件“E:\Projects\Python\Indee\pythonProject.venv\Lib\site-packages\selenium\webdriver 表情 emote_connection.py”,第 340 行,在 init 中 self._conn = self._get_connection_manager() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 文件“E:\Projects\Python\Indee\pythonProject.venv\Lib\site-packages ppium\webdriver ppium_connection.py”,第 49 行,位于 _get_connection_manager 如果 self._ca_certs: ^^^^^^^^^^^^^^^ AttributeError:“AppiumConnection”对象没有属性“_ca_certs”
进程已完成,退出代码为 1
编辑:添加我正在运行的代码-
import time
from typing import Dict, Any
from wsgiref.util import application_uri
from appium import webdriver
from appium.options.common import AppiumOptions
from appium.webdriver.common.appiumby import AppiumBy
from appium.webdriver.appium_service import AppiumService
cap:Dict[str, Any]={
'platformname':'Android',
'automationName':'uiautomator2',
'deviceName':'Android',
'appPackage':'com.android.settings',
'appActivity':'.Settings',
'language':'en',
'locale':'US'
}
url = 'http//localhost:4723'
# app = 'E:\\Projects\\Python\\Indee\\pythonProject\\resources\\hfiPevjjJ1DgrIGU5G3n.apk'
# appium_service = AppiumService()
# appium_service.start()
driver = webdriver.Remote(url, options=AppiumOptions().load_capabilities(cap))
print("Running")
# appium_service.stop()
我也遇到这个问题了。我通过固定硒来修复它。我有几个运行 appium 的设置,其中一个出现了这个问题,但另一个则没有。对软件包运行更新后,这出现在之前运行的系统中。我查看了日志并注意到
- Updating selenium (4.25.0 -> 4.26.0)
然后我将 selenium 与 4.25.0 挂钩,它再次开始工作。
注意 - 次要版本的 semver 更新不应破坏 api,但是,appium 正在处理 selenium 中的私有变量 (
_ca_certs
)。私有变量不打算供消费者使用,并且不保证保持稳定。虽然挂钩 selenium 可能会为您解决问题,但最终,appium 包不应该依赖于 selenium 包的私有变量访问。