博客
关于我
APP自动化测试(二)-appium
阅读量:328 次
发布时间:2019-03-04

本文共 1722 字,大约阅读时间需要 5 分钟。

Android应用自动化测试工具与元素探测方法

Android开发者在进行自动化测试或元素探测时,通常会使用一些工具或 SDK 来简化操作。本文将介绍两种常用的工具以及相关的技术细节。

一、Appium Inspector

Appium Inspector 是一个功能强大的工具,用于对 Android 应用的 UI 元素进行定位和录制。它的主要特点是:

  • 操作简单:用户只需选择滑动按钮的开始和结束点,就能轻松录制并生成相应的代码。
  • 支持多设备:无需配置设备名或其他参数,直接连接设备即可使用。
  • 高效便捷:相比其他工具,UIAutomatorViewer 在效率和用户体验上更为突出。
  • 二、UIAutomatorViewer

    UIAutomatorViewer 是 Android SDK 提供的原生工具,不需要额外配置设备信息。其优势体现在以下几个方面:

  • 无需配置:用户无需输入设备名或启动参数,直接运行即可。
  • 高效率:相比 Appium Inspector,UIAutomatorViewer 在性能上更为优越。
  • 工具位置:通常位于 SDK 工具目录下,如 sdk\tools\bin,在 Android Studio 中也可通过导航栏找到。
  • 三、UI 元素定位方法

    在进行自动化测试或元素探测时,了解 Android UI 元素的结构和属性至关重要。以下是常用的操作方法:

  • 获取入口信息

    • 使用 aapt dump badging 命令查找应用的启动 Activity。
    • 使用 adb shell dumpsys activity 查看当前运行的 Activity。
  • 控件分类

    • 常见控件包括 TextView、EditText、Button、RadioButton、RadioGroup、ImageButton、CheckBox 和 ImageView 等。
    • 进度条控件通过 ProgressBar 实现。
  • 四、Android 应用结构

    了解 Android 应用的结构有助于更好地定位和操作元素。以下是相关知识点:

  • 应用包名和类名

    • 包名(Package Name)是应用的唯一身份标识,安装时会提示是否覆盖已有应用。
    • 类名(Activity Name)与 Activity 相关联,用于描述用户交互界面,如启动器(Launcher)。
  • 布局类型

    • 线性布局:分为水平线性和垂直线性。
    • 相对布局:基于参照物定位控件位置。
    • 表格布局:按行列方式排列视图。
    • 网格布局:将界面划分为网格,支持自由摆放。
    • 绝对布局:根据坐标轴定位控件。
    • 帧布局:控件叠加显示,后面的控件覆盖前面的。
  • 五、第一个 App 自动化脚本

    在配置好环境后,可以使用 Maven 工具管理依赖包。以下是常用步骤:

  • 下载并配置 Maven

    • 将 Maven 的路径添加到系统环境变量中。
    • 在项目路径中添加 %MAVEN_HOME%\bin;,以便调用 Maven 工具。
  • 创建 Maven 项目

    • 通过文件菜单选择“新建项目”,搜索“Maven Project”进行创建。
    • 在项目设置中添加必要的依赖包,确保包路径正确。
  • 编写自动化脚本

    • 使用 Java 或其他支持语言编写脚本。
    • 导入相关的依赖包,例如 java-client.jar
    • 确保脚本文件路径正确,避免因路径错误导致失败。
  • 六、常见问题与解决方法

    在实际操作中,可能会遇到一些问题,例如 UI 元素定位失败或模拟器无法连接。以下是一些常见问题及其解决方法:

  • UI 元素定位失败

    • 检查是否开启了开发者模式和 USB 调试。
    • 确保元素属性(如包名、类名)正确无误。
    • 关闭其他占用内存的程序,避免冲突。
  • 模拟器连接问题

    • 输入 adb root 确认是否有权限。
    • 重启手机或模拟器,确保设备已连接。
    • 在 UIAutomatorViewer 中点击“刷新”以获取最新界面映射。
  • 脚本运行失败

    • 检查元素定位是否正确,元素是否存在当前界面。
    • 确保 Activity 启动顺序正确,避免 Activity 切换导致元素不可见。
  • 通过以上方法,开发者可以更高效地进行 Android 应用自动化测试和 UI 元素探测。

    转载地址:http://nksh.baihongyu.com/

    你可能感兴趣的文章
    Ploly烛台的定制颜色
    查看>>
    Ploly:如何在Excel中嵌入完全交互的Ploly图形?
    查看>>
    plotloss记录
    查看>>
    Plotly (Python) 子图:填充构面和共享图例
    查看>>
    Plotly 中的行悬停文本
    查看>>
    Plotly 停用 x 轴排序
    查看>>
    Plotly 域变量解释(多图)
    查看>>
    Plotly 绘制表面 3D 未显示
    查看>>
    Plotly-Dash 存在未知问题并创建“加载依赖项时出错“;通过使用 Python-pandas.date_range
    查看>>
    Plotly-Dash:如何过滤具有多个数据框列的仪表板?
    查看>>
    Plotly:如何为 x 轴上的时间序列设置主要刻度线/网格线的值?
    查看>>
    Plotly:如何从 x 轴删除空日期?
    查看>>
    Plotly:如何从单条迹线制作堆积条形图?
    查看>>
    Plotly:如何以 Root 样式绘制直方图,仅显示直方图的轮廓?
    查看>>
    Plotly:如何使用 Plotly Express 组合散点图和线图?
    查看>>
    Plotly:如何使用 plotly.graph_objects 和 plotly.express 定义图形中的颜色?
    查看>>
    Plotly:如何使用 Python 对绘图对象条形图进行颜色编码?
    查看>>
    Plotly:如何使用 updatemenus 更新一个特定的跟踪?
    查看>>
    Plotly:如何使用长格式或宽格式的 pandas 数据框制作线图?
    查看>>
    Plotly:如何向烛台图添加交易量
    查看>>