• 【App自动化测试】(五)移动端自动化常用的元素定位工具——Uiautomatorviewer、 ATX WEditor、Appium Inspector



    前言
    本文为在霍格沃兹测试开发学社中学习到的一些技术写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ 😘

    1. uiautomatorviewer

    1.1 uiautomatorviewer 的安装

    • 工具的安装:Android SDK下自带的界面分析工具

    在这里插入图片描述

    ❗ 注意:android 8以后的版本已经不支持此定位方式了

    1.2 uiautomatorviewer 工具功能介绍

    在这里插入图片描述

    • Open(第1个):是通过分析给定的文件定位
    • Device Screenshot(第2个):是将当前界面截图并分析xml结构
    • Device Screenshot with Conpressed Hierarchy(第3个):与第二个功能类似,但它会对页面内容进行压缩,导致一些控件定位不准确
    • Save(第4个):是保存当前界面的截图以及xml结构

    1.3 uiautomatorviewer 的使用方法

    在Appium server和模拟器(测试设备)启动的情况下,进行一下操作:

    第一步:在命令行中输入 uiautomatorviewer,开启工具

    在这里插入图片描述
    启动后uiautomatorviewer界面:

    在这里插入图片描述

    第二步:点击Device Screenshot 按钮(操作栏中的第二个按钮),加载手机页面

    在这里插入图片描述
    第三步:进行页面内容分析

    在这里插入图片描述

    1. 选中的元素。选中的元素会用红色虚线框框中;
    2. 选中元素的坐标位置
      • [148,227]:选中元素左上角坐标
      • [770,413]:选中元素右下角坐标
    3. 选中元素的详细属性值

    2. ATX WEditor

    2.1 ATX WEditor的安装

    • 要求:python 3.6+ 以上
    • 安装:weditor 是 python 的第三方库
      • pip install weditor 进行安装

    安装最新版本一直失败,选择低版本安装成功,命令如下:ip install weditor==0.6.4

    weditor历史版本查询:https://pypi.org/project/weditor/#history

    2.2 ATX WEditor 功能介绍

    在这里插入图片描述

    • 支持 Android 和 iOS 的界面分析
    • 通过设备的 uuid 连接设备
    • 展示页面结构

    2.3 ATX WEditor 的使用

    在Appium server和模拟器(测试设备)启动的情况下,进行一下操作:
    第一步:在终端执行命令python -m weditor,启动ATX WEditor。

    在这里插入图片描述
    第二步:选择被测系统Android/iOS(图中标记1)。然后点击Connect(图中标记2)按钮,当Connect按钮上出现绿色树叶说明已经连接成功,然后点击Dump Hierarchy(图中标记3) 加载被测设备页面结构。

    在这里插入图片描述
    第三步:当页面结构加载成功之后,就可以选中元素进行分析。点击页面元素(图中标记4),然后在图中标记5出会呈现详细的解析结果。

    注意:移动端必须安装ATX服务,Weditor才能正常使用,安装方式如下:
    第一步:启动连接的真机或者模拟器
    第二步:终端运行命令:uiautomator2 init
    示例:运行后,移动端就会出现一个小黄车图标,证明ATX服务已经装好。在这里插入图片描述在这里插入图片描述

    3. Appium Inspector

    3.1 Appium Inspector安装与运行

    • Appium Inspector 的下载地址:https://github.com/appium/appium-inspector/releases
    • 运行 Appium Inspector:
      1. 运行 Appium Server;
      2. 本地的 adb 连接设备;
      3. Appium Inspector中正确填写Appium Server配置(图中标记1)和Desired Capabilities参数(图中标记2);

      Appium Server配置说明:

      • Appium Server如果部署在本地,就按照图示填写配置,如果不是本地,就正确填写Remote Host。
      • Remote port默认是4723,一般不改动。
      • 如果使用的是Appium 2.0及以上版本的话Remote Path默认是/,如果使用的是Appium 1.X的话,Remote Path请使用/wd/hub
      • Appium Desktop 默认使用的是 Appium 1.X。
      1. 点击 Start Session(图中标记3)。

    请添加图片描述

    ❗ 注意:在运行appium inspect 的时候需要检查一下weditor在手机上安装的ATX服务是否停止,因为ATX服务会占用uiautomator2.

    3.2 Appium Inspector 功能简介

    请添加图片描述

    1. Native App Model(图中标记1):原生应用模式
    2. Web/Hybrid App Model:Web/混合应用模式
    3. Select Elements:元素选择按钮,当处于Select Elements状态时,可以开始对页面中的元素进行选择定位解析。
    4. Swipe by Coordinates:使用坐标进行滑动操作,利用鼠标分别在A和B点进行点击,之后会根据点击的顺序与方向进行相应方向的模拟滑动操作。
    5. Tap by Coordinates:使用坐标进行点击操作
    6. Back:后退
    7. Refresh Soruce & Screenshot:刷新加载的页面
    8. Start Recording:脚本录制
    9. Search for element:查找元素,可以使用xpath等方式来定位元素。(可以用来验证定位的元素是否正确)

    在这里插入图片描述

    1. Quit Session & Close Inspector:结束Session
    2. Tap:当选中元素后,可以使用Tap来进行点击操作
    3. Send Keys:向文本框中输入值
      请添加图片描述
    4. Clear:清除编辑框中的内容
    5. Copy Attributes to Clipboard:复制属性值
    6. Get Timing:获取选定元素响应时长。点击此按钮后,会在元素属性列表中多一个Time,展示元素的响应时长。
      在这里插入图片描述

    文末说明:
    接口测试中我们很容易混淆Session、cookie和token,你知道他们有什么区别吗?

    快来跟我一起看,一篇文章让你了解三者的区别。😎
    ⬇⬇⬇⬇⬇⬇⬇
    👍👍👍:接口测试经典面试题:Session、cookie、token有什么区别?

  • 相关阅读:
    HBuilderX 自定义语法提示
    DNS (Domain Name System) 域名解析过程
    2022ICPC 网络赛第二场 B Non-decreasing Array(区间dp)
    深入理解JavaScript对象
    模拟经营类游戏是怎么开发的?
    OPENSQL快速学习
    npm run build小技巧
    Linux——IP协议1
    Spring与Web环境集成
    手把手带你免费申请《软件著作权》 超详细计算机软件著作权申请教程 文末送模板
  • 原文地址:https://blog.csdn.net/gjj920318/article/details/127996202