记录使用appium+夜神模拟器测试多设备时selenium和appium版本不兼容带来的问题

记录使用appium+夜神模拟器测试多设备时selenium和appium版本不兼容带来的问题

好不容易解决了selenium和appium的版本冲突问题(导致:AttributeError: 'NoneType' object has no attribute 'to_capabilities'异常发生)

第二天运行代码发现出现了连接Appium 服务器被拒绝

bash 复制代码
http://127.0.0.1:4723/wd/hub
Exception in thread Thread-2 (appim_desired_01):
Traceback (most recent call last):
  File "E:\anaconda3\Lib\site-packages\urllib3\connection.py", line 174, in _new_conn
    conn = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "E:\anaconda3\Lib\site-packages\urllib3\util\connection.py", line 95, in create_connection
    raise err
  File "E:\anaconda3\Lib\site-packages\urllib3\util\connection.py", line 85, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

后来发现Appium 服务器没有启动成功

bash 复制代码
[ERROR] Unrecognized arguments: -bp 4724

在使用 start 命令启动 Appium 时,如果遇到"Unrecognized arguments: -bp 4724"错误,这可能是因为你使用的 Appium 版本不支持 -bp 参数。看来是解决selenium和appium版本冲突问题时降低了appium版本导致的

解决方法

  1. 对于 Appium,通常需要指定的参数为 --port 和 --base-path。如果你想设置基础路径,可以使用 --base-path 替代 -bp。因此,修改后的命令如下:
bash 复制代码
start /b appium -a 127.0.0.1 -p 4723 --base-path /wd/hub
  1. 在连接到 Appium 服务器时,所请求的会话缺少 automationName 参数的话会出现错误Error connecting to Appium server: Message: 'automationName' can't be blank。automationName 是 Appium 的一个重要配置项,用于指定使用的自动化引擎,比如:
  • UiAutomator2(适用于 Android)
  • XCUITest(适用于 iOS)
bash 复制代码
desired_caps = {
    'platformName': 'Android',
    'platformVersion': '5.1.1',  # 确保这个版本与你的设备匹配
    'deviceName': '127.0.0.1:62025',
    'appPackage': 'com.android.settings',
    'appActivity': '.Settings',  # 等待的活动
    'noReset': False,
    "automationName": "UiAutomator2"
}
  1. 设置参数后需要安装相应的驱动。 否则Appium 没有找到与 automationName 为 UiAutomator2 和 platformName 为 Android 的配置相匹配的驱动程序会出现错误Error connecting to Appium server: Message: An unknown server-side error occurred while processing the command. Original error: Could not find a driver for automationName 'UiAutomator2' and platformName 'Android'. Have you installed a driver that supports those capabilities? Run 'appium driver list --installed' to see. (Lower-level error: Could not find installed driver to support given caps)v

  2. 解决步骤

    1)检查已安装的驱动:

    运行以下命令查看已安装的驱动程序:

bash 复制代码
appium driver list --installed

确保 appium-uiautomator2-driver 驱动程序已安装。如果没有,你需要安装它。

2)安装 UiAutomator2 驱动:

如果你没有安装 UiAutomator2 驱动,可以通过以下命令安装:

bash 复制代码
appium driver install uiautomator2

再次运行代码-成功


相关推荐
m0_380743874 小时前
给 OpenAI API 调用加上模型切换:GPT-5.1 和 Codex 的配置实践
人工智能·python·gpt
2601_962297484 小时前
在python3中、下列输出变量a的正确写法是_2020超星大数据Python免费答案
数据结构·python·算法·编程·字符串操作
“AI国潮设计-小江”4 小时前
Python实战 | SDXL精准控制“普宁英歌舞×星空蛋糕”IP落地,附核心Prompt与商用授权思路
开发语言·人工智能·python·prompt·aigc
公爵爱学习4 小时前
无人机视觉识别前序-Linux-YOLO安装
python·yolo·计算机视觉·conda·无人机
2601_962295334 小时前
使用python实现一个浏览器自动化的脚本
python·脚本·rpa·浏览器自动化·操作
小刘在重生~6 小时前
Java常用类|String类详解 + BigDecimal精准计算(含面试题)
java·开发语言·python
大汉堡玩测试6 小时前
langfuse测试实战(一): 配置一个简单的项目快速落地
python·测试工具
一位正在转型AI全栈的前端工程师6 小时前
AI 全栈学习之旅 -Week 8:从单 Agent 到多 Agent 协作:LangGraph 实战与记忆持久化
前端·python
长江后浪博客6 小时前
Python + YOLOv8 疲劳驾驶 AI 视觉检测入门:从模型训练到 ONNX 实时摄像头检测完整实战
人工智能·python·yolo·疲劳驾驶检测·onnx·yolov8
hhzz7 小时前
【OpenCV 入门到精通 01】认识 OpenCV 与计算机视觉:从零建立全局认知
人工智能·python·opencv·计算机视觉·开源