上一篇博客APP自动化测试-入门示例-CSDN博客介绍了APP自动化测试的入门示例,下面详细介绍下Appium 实现的页面元素查看器工具:Appium Inspector的使用方法。

Appium Inspector简介

Appium Inspector 是 Appium 测试框架中的一个工具,用于可视化和调试移动应用程序的 UI 结构。

Appium Inspector 有以下几个优点:

  1. 可视化界面:它提供了一个可视化的界面,让用户可以直接查看和操作被测试应用程序的界面元素。
  2. 元素识别:通过 Appium Inspector,用户可以轻松识别和选择应用程序中的元素,例如按钮、文本框、菜单等。
  3. 实时性:它可以实时显示应用程序的界面状态,以便用户可以立即看到他们的操作对界面的影响。
  4. 方便调试:它可以帮助用户调试和修复自动化测试脚本中的问题,因为他们可以直接查看和操作应用程序的界面。
  5. 跨平台支持:Appium Inspector 支持多个移动操作系统和应用程序平台,包括 iOS 和 Android。

前提

1. 连接一个Android 设备

2. 启动 Appium Server GUI

3. 启动Appium Inspector

3.1. 配置Appium Inspector

设置Capability Builder 参数

3.1.1. 参数信息

引用参考:appium 启动参数_appium启动参数-CSDN博客

  • platformName: 指定移动设备平台的名称,例如 Android 或 iOS。必填参数。
  • deviceName: 指定移动设备的名称。必填参数。
  • appPackage: 指定应用程序的包名。必填参数。
  • appActivity: 指定应用程序的启动页面名称。必填参数。
  • platformVersion: 指定移动设备的操作系统版本。可选参数。
  • app: 指定要安装到设备上的应用程序文件的路径。可选参数。
  • noReset: 指定是否在每次启动应用程序时重置应用程序的状态。可选参数,默认为 false。
  • skipDeviceInitialization: 跳过初始化操作
  • automationName: 指定 Appium 使用的自动化测试框架的名称。可选参数,默认为 Appium。
  • udid: 指定移动设备的唯一设备标识符。可选参数。
  • newCommandTimeout: 指定新命令的超时时间,以毫秒为单位。可选参数,默认为 60 秒。
  • autoGrantPermissions: 指定是否在启动应用程序时自动授予所有权限。可选参数,默认为 false。
  • unicodeKeyboard: 指定是否启用 Unicode 输入法,用于支持非英语语言的输入。可选参数,默认为 false。
  • resetKeyboard: 指定是否在测试结束后重置输入法设置。可选参数,默认为 false。
  • fullReset: 指定是否在测试结束后完全重置应用程序的状态和数据。可选参数,默认为 false。
  • browserName: 指定要在设备上启动的浏览器的名称。可选参数。
  • chromeOptions: 指定要传递给 Chrome 浏览器的选项。可选参数。
  • safariAllowPopups: 指定是否允许 Safari 浏览器弹出窗口。可选参数,默认为 false。
  • nativeWebTap: 指定是否在原生应用中使用原生的 web 点击事件。可选参数,默认为 false。
  • disableWindowAnimation: 指定是否禁用设备窗口动画。可选参数,默认为 false。
  • ignoreUnimportantViews: 指定是否忽略屏幕上的不相关视图,以加速测试执行。可选参数,默认为 false。
  • androidScreenshotPath: 指定 Android 设备上截图的存储路径。可选参数。
  • networkSpeed: 指定模拟设备的网络速度。可选参数。

3.1.2. 保存/查看/修改参数信息

点击Save As保存一下方便下次使用,可以继续在Save Capablity Sets中查看/编辑。

注意在Save Capablity Sets中编辑后需要再次Save As保存文件,才能使更改生效。

参数设置中,noReset默认为false,每次启动应用程序时都会重置应用程序的状态。如果不需要测试注册、登录等场景,noReset设置为true即可。

3.1.3. 启动Appium Inspector

点击Start Session后,会自动安装依赖应用,并打开测试APP。【手机上会自动安装Appium Settings 应用(安装好不要卸载)】

Appium Inspector 启动成功后,界面如下

  • 左侧是应用程序的屏幕截图(快照视图)。
  • 中间是应用程序的层次结构,表示为XML。
  • 右侧是元素信息视图

主要功能

  • 查看应用程序的屏幕布局和元素层次结构。
  • 识别和选择屏幕上的元素,例如按钮、文本框、菜单等。
  • 获取元素的属性和文本内容。
  • 模拟用户操作,例如点击、滑动、输入文本等。
  • 检查应用程序的状态和断言结果。

基本操作

1. 刷新

当我们在手机上对APP进行操作后,Inspector窗口的屏幕截图不会自动更新,需要我们通过点击刷新按钮,更新应用的最新页面

2. 操作回退

当我们想要查看返回上一个操作查看页面信息,可以通过点击back 按钮。此时Inspector窗口和手机都会同时回到上一个操作的界面。(等同于android手机上的返回键)

3. 退出

当我们不再需要使用Inspector,就可以点击x关闭Inspector窗口(调用驱动程序)。退出并关闭Inspector

4. 复制xml

如果我们需要保存当前元素的属性内容,可以点击Copy Attributes to Clipboard 将内容保存到粘贴板。

5. 查看元素信息

当我们想要查看某一个元素的详细信息,首先需要点击select Elements 按钮,然后在屏幕截图中点击要查看的元素,最后在右侧的区域就可以看到元素的xpath,index,package,class,text,resource-id 等信息。

6. 点击元素

选择一个元素后,可以“点击”元素,当使用一个元素执行Tap操作时,Inspector将发送命令到Appium,执行点击操作。如果操作成功,左侧将生成一个新的屏幕截图,应用程序更新到最新的状态和XML。如果不成功,将看到错误消息。

  • 定位到搜索元素

  • 点击 Tap 按钮

7. 输入文本

  • 在上述的搜索输入框中输入“高考”

  • 点击发送Send Keys

8. 清空文本

  • 定位到搜索输入框
  • 点击清空 Clear

9. 查找元素信息

通过元素的某一个属性值来查看它所对应的元素有哪些,可以点击search for element 按钮。

步骤:

  • 选择一个属性:id(resource-id),name(text),xpath,className(class)等
  • 输入属性对应的值
  • 点击Search
  • 显示搜索结果

10. Inspector窗口操作界面

点击 Tap/Swipe By Coordinates按钮,我们就不需要在手机上点击操作,可以直接在屏幕截图上使用鼠标来点击元素,手机也会同步操作。

11. 滑动屏幕

如果想在Inspector窗口的屏幕截图中执行一个滑动屏幕的操作,使用鼠标无法完成,那么我们可以通过Tap/Swipe By Coordinates按钮实现。

步骤

  • 先点击滑动的起始位置(会显示一个圆圈)
  • 按住鼠标一直拖到到滑动结束的位置
  • 松开鼠标这时候就开始执行滑动操作

12. 录制

可以录制自动化测试脚本,但录制出的脚本都是通过坐标值来操作的,实际工作中意义不大(换一台设备可能就没法执行了)。
录制步骤:

  • 将窗口操作模式修改为Tap/Swipe By Coordinates。
  • 点击Start Recording。
  • 选择自动化脚本语言。
  • 在左侧窗口进行点击操作即可录制自动化脚本。

未完待续……

Logo

科技之力与好奇之心,共建有温度的智能世界

更多推荐