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()
相关推荐
北京耐用通信4 小时前
电磁阀通讯频频“掉链”?耐达讯自动化Ethernet/IP转DeviceNet救场全行业!
人工智能·物联网·网络协议·安全·自动化·信息与通信
吃喝不愁霸王餐APP开发者10 小时前
霸王餐API文档自动化:Spring REST Docs与Asciidoctor多模块聚合
数据库·spring·自动化
0思必得010 小时前
[Web自动化] 开发者工具应用(Application)面板
运维·前端·python·自动化·web自动化·开发者工具
Deng87234734812 小时前
自动化极验3点选验证码的识别与验证方案
运维·python·自动化
川石课堂软件测试12 小时前
自动化测试的基本概念及常用框架
数据库·python·功能测试·测试工具·单元测试·自动化·流程图
川石课堂软件测试13 小时前
使用loadrunner调用mysql API进行性能测试
服务器·数据库·python·selenium·mysql·单元测试·自动化
weixin_3077791314 小时前
Jenkins 多分支流水线自动化引擎:GitHub Branch Source 插件完全指南
运维·架构·自动化·jenkins
旦莫14 小时前
Pytest教程: Pytest ini配置文件深度剖析
python·单元测试·自动化·pytest
GAOJ_K15 小时前
滚珠花键的使用时长与性能保持的量化关系
大数据·人工智能·科技·自动化·制造
黑客思维者15 小时前
嵌入式系统DevSecOps深度设计:构建固件级漏洞免疫体系的自动化管道
运维·自动化·devsecops·嵌入式系统