appium自动化对已打开的app操作

一、说明

由于 Appium 4.x 版本对会话的管理方式发生了变化,直接重用会话的功能可能不再支持。你可能需要调整测试策略,采用新的方法与已经打开的应用进行交互,比如使用 ADB,就为了找这个我找了很久网上都没有说明,老版本的appium支持对session重复使用,也就是操作之前的session即可,这个目的主要是为了调试方便使用

二、adb操作:

你可以通过 ADB(Android Debug Bridge)直接与已经打开的应用进行交互。以下是一些常用的 ADB 命令示例,类似这种直接操作元素:

  • 输入文本

    adb shell input text "你的文本"

  • 点击元素(根据元素的坐标):

    adb shell input tap x y

三、appium操作:

其实很简单,就是直接不打开任何app,直接和对应设备建立连接操作即可:

复制代码
from appium import webdriver

# 使用有效的能力
desired_caps = {
    'platformName': 'Android',
    'deviceName': '你的设备名称',
    # 不需要提供 app,因为应用已经打开
}

# 尝试连接到已打开的会话(可能有限支持)
driver = webdriver.Remote('http://localhost:4723/wd/hub', UiAutomator2Options().load_capabilities(desired_caps))

# 进行操作,例如查找元素和点击
element = driver.find_element("xpath", "//android.widget.Button[@text='按钮文本']")
element.click()
相关推荐
志栋智能1 天前
超自动化巡检:驱动运维团队从操作走向优化
运维·服务器·自动化
学习论之费曼学习法1 天前
用 Agent 自动化数据处理:从 2 小时到 15 分钟的效率革命
运维·自动化
遇见火星1 天前
Zabbix自动化监控:自动发现+自动注册实战,告别手动添加主机!
网络·自动化·zabbix
云动课堂1 天前
【运维实战】企业级VSFTPD 文件服务 · 一键自动化部署方案 (适配银河麒麟 V10 /openEuler /CentOS)
运维·centos·自动化
梦想的旅途21 天前
解构私域自动化架构:基于 RPA 协议的中台设计与实现
架构·自动化·rpa
2501_941982051 天前
智能素材分发:基于视觉模拟的多媒体私域自动化方案
自动化·交互·rpa
张3231 天前
Ansible变量与事实
运维·云原生·自动化
Tech_D1 天前
RDM-A直线电机:高效精准,赋能机械升级
机器人·自动化·制造
愚公搬代码1 天前
【愚公系列】《OpenClaw实战指南》017-写作与整理:让OpenClaw 接管你的周报与公文(OpenClaw Skill调用详解)
人工智能·机器人·自动化·飞书·openclaw
chimooing1 天前
OpenClaw 浏览器自动化:Playwright 深度集成
运维·自动化