热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

appiuminspector抓取元素、录制脚本

inspector是appium自带的抓取App元素的工具,Android中同类工具是SDK\tools\uiautomatorviewer.bat但inspector除了能显示元

inspector是appium自带的抓取App元素的工具,Android中同类工具是SDK\tools\uiautomatorviewer.bat
但inspector除了能显示元素各种属性外,还可以进行简单的录制工作。

还没安装appium的看下之前的文章。

运行appium,点击Start,点击右上角放大镜图标打开inspector
技术图片

打开后,按以下进行配置,可以在左侧一项一项填,也可以直接编辑右侧的JSON
{
"platformName": "Android",
"deviceName": "63fa4de5",
"appPackage": "com.tencent.mm",
"appActivity": ".ui.LauncherUI",
"noReset": "True"
}

技术图片

其中deviceName是你手机的设备名称,在CMD输入:adb devices可以查看

noReset为True表示不重置微信,我第一次没填这个选项,导致微信被重置数据,各种聊天记录全丢了。。。

appPackage是包名,appActivity可以填app首页的activity,获取方法,打开微信,PC CMD输入:
adb shell dumpsys activity activities | findstr mFocusedActivity # 安卓8.0以下
adb shell dumpsys activity activities | findstr mResumedActivity # 安卓8.0以上
结果显示:
mResumedActivity: ActivityRecord{cf909bd u0 com.tencent.mm/.ui.LauncherUI t15732}

配置后好点右下角Save,供以后使用;点Start Session启动appium Session,此时已建立连接,可以看到录制界面了


技术图片

左侧是屏幕显示区域。
中间是XML元素层级显示,和Chrome F12的Elements一样的。
右侧上部是操作按钮;中部是选中元素的Selector(定位),这里已经列好了,写脚本的时候直接复制就可以用;下部是选中元素的各种属性。
上部录制脚本的代码显示,可以选择语言,我这选的是Python。

 下面再介绍下最上面一排工具按钮:

1.元素选取工具,在屏幕显示区域点击元素,就可以在右侧看到元素的属性,再次点击元素取消选择
2.滑动操作,如在屏幕显示区域下面点一下,上面点一下,就会操作手机向上滑动,如果开了录制,会自动生成代码
3.坐标点击,如果开了录制,会自动生成按坐标点击的代码
4.后退,如果开了录制,会自动生成代码
5.刷新屏幕
6.录制
7.元素查找,有时定位元素你想自己写Xpath,写完想看看是否定位到,就可以用这个
8.复制XML
9.关闭

 再说说最右侧中间的那一排工具,你需要先选中一个元素:

1.点击操作click(),如果开了录制,会自动生成代码
2.输入操作,向输入栏输入文字,如果开了录制,会自动生成代码
3.清除操作,如果开了录制,会自动生成代码
4.复制元素属性

真是个神器,一边录制一边操作App,脚本也一起生成了。最后把脚本复制到用例中,稍做修改,就可以直接执行了。

附一个演示视频:

https://www.bilibili.com/video/BV1pZ4y1p7Ue/

---------------------------------------------------------------------------------

关注微信公众号(测试工程师小站)即可在手机上查阅,并可接收更多测试分享,发送【测试资料】更可获取百G测试教程~

技术图片

appium inspector抓取元素、录制脚本


推荐阅读
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 利用无代码平台实现高效业务应用开发
    随着市场环境的变化加速,全球企业都在探索更为敏捷的应用开发模式,以便快速响应新兴的商业机遇。然而,传统的软件开发方式不仅成本高昂,而且耗时较长,这往往导致IT与业务部门之间的合作障碍,进而影响项目的成功。本文将探讨如何通过无代码开发平台解决这些问题。 ... [详细]
  • 在Android应用开发过程中,开发者经常遇到诸如CPU使用率过高、内存泄漏等问题。本文将介绍几种常用的命令及其应用场景,帮助开发者有效定位并解决问题。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • 本文探讨了程序员这一职业的本质,认为他们是专注于问题解决的专业人士。文章深入分析了他们的日常工作状态、个人品质以及面对挑战时的态度,强调了编程不仅是一项技术活动,更是个人成长和精神修炼的过程。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 本文详细介绍了C++中的构造函数,包括其定义、特点以及如何通过构造函数进行对象的初始化。此外,还探讨了转换构造函数的概念及其在不同情境下的应用,以及如何避免不必要的隐式类型转换。 ... [详细]
  • 数据类型--char一、char1.1char占用2个字节char取值范围:【0~65535】char采用unicode编码方式char类型的字面量用单引号括起来char可以存储一 ... [详细]
  • 项目风险管理策略与实践
    本文探讨了项目风险管理的关键环节,包括风险管理规划、风险识别、风险分析(定性和定量)、风险应对策略规划及风险控制。旨在通过系统的方法提升项目成功率,减少不确定因素对项目的影响。 ... [详细]
  • 探索AI智能机器人自动盈利系统的构建
    用户可通过支付198元押金及30元设备维护费租赁AI智能机器人,推荐他人加入可获得相应佣金。随着推荐人数的增加,用户将逐步解锁更高版本,享受更多收益。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • Windows操作系统提供了Encrypting File System (EFS)作为内置的数据加密工具,特别适用于对NTFS分区上的文件和文件夹进行加密处理。本文将详细介绍如何使用EFS加密文件夹,以及加密过程中的注意事项。 ... [详细]
  • 回顾两年前春节期间的一个个人项目,该项目原本计划参加竞赛,但最终作为练习项目完成。独自完成了从编码到UI设计的全部工作,尽管代码量不大,但仍有一定的参考价值。本文将详细介绍该项目的背景、功能及技术实现。 ... [详细]
author-avatar
三年零七U个月的感情
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有