【APP测试】 uiautomator2,atx框架安装和简单使用

本文介绍了uiautomator2和atx两个移动UI自动化测试框架,比较了它们在适用平台、技术栈、定位方式和生态系统的差异。uiautomator2专为Android设计,性能稳定,Appium则提供跨平台支持和更多定位选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简介

uiautomator2:

uiautomator2是一个自动化测试开源工具,仅支持android平台的自动化测试,其封装了谷歌自带的uiautomator2测试框架,可以运行在支持Python的任一系统上

atx

atx是网易开发的一款移动ui自动化测试框架,是开源的,比appium简单,可以实现无线连接,同时操控多台手机,同时支持ios系统,所以是一个很强大的测试框架。

二、安装步骤

  • 安装atx

pip install atx
  • 安装uiautomator2

pip install --pre --upgrade uiautomator2
  • 给被测机安装atx

python -m uiautomator2 init
  • 打开网页编辑器

先安装 weditor  

pip install -U weditor

再打开编辑器

python  -m weditor

三、简单演示

打设置->点击搜索->输入 流量

代码:

输出设备信息:

输入后退出

四、uiautomator2 和 appium对比(GPT回答)

UIAutomator2 和 Appium 都是用于进行移动应用自动化测试的工具,但它们在设计和使用上有一些区别。以下是 UIAutomator2 和 Appium 的对比:

UIAutomator2

  1. 针对性

    • 适用平台:UIAutomator2 是由谷歌开发的用于 Android 平台的自动化框架,专门用于测试 Android 应用程序。

    • 本地支持:直接支持 Android 平台的原生应用和系统应用的自动化测试。

  2. 技术栈

    • 基于框架:UIAutomator2 是基于 Android 平台的原生框架,通过连接到设备并与 Android 系统进行通信来执行操作。

    • 语言:主要使用 Python 或 Java 进行脚本编写。

  3. 性能和稳定性

    • 性能优化:由于直接在 Android 平台上运行,因此通常具有更好的性能和稳定性。

    • 原生支持:可以直接操作 Android 应用程序的原生元素和功能。

  4. 定位方式

    • UI 查找:使用原生的 UI 属性(如文本、资源 ID、类名等)来查找和操作 UI 元素。

    • 无需第三方应用:不需要安装额外的第三方应用或组件来实现自动化。

Appium

  1. 跨平台支持

    • 适用范围:Appium 是一个跨平台的移动应用自动化工具,可以用于 iOS、Android 和 Windows 应用的自动化测试。

    • 统一脚本:可以使用相同的脚本语言来编写跨平台的测试用例。

  2. 技术栈

    • 基于 WebDriver:Appium 基于 WebDriver 协议,通过发送指令到移动设备来执行测试操作。

    • 多语言支持:支持多种编程语言,如 Java、Python、JavaScript 等。

  3. 定位方式

    • UI 查找:可以使用 XPath、CSS 选择器等灵活的定位方式来查找 UI 元素,支持更丰富的定位策略。

    • Web 应用支持:可以测试移动应用中的 Web 视图,支持混合应用的自动化测试。

  4. 生态系统

    • 社区支持:Appium 是一个开源项目,拥有庞大的社区支持和活跃的开发者社群。

    • 插件和扩展:可以通过插件和扩展来扩展 Appium 的功能,适应不同的测试需求和场景。

对比总结

  • 用途和特点:UIAutomator2 更专注于 Android 平台的原生应用和系统应用的自动化测试,性能稳定且无需额外的安装;而 Appium 则提供了跨平台的支持,可以用于 iOS、Android 和 Windows 应用的自动化测试,具有更灵活的定位方式和丰富的生态系统。

  • 定位策略:UIAutomator2 使用原生的 UI 属性来定位,而 Appium 支持更多定位策略,如 XPath、CSS 选择器等。

  • 技术栈和语言:UIAutomator2 主要使用 Python 或 Java,而 Appium 支持多种编程语言。

  • 社区和生态:Appium 的开源社区更大,拥有更丰富的插件和扩展,适用范围更广泛。

选择使用 UIAutomator2 还是 Appium 取决于您的具体需求和应用场景。如果您需要针对 Android 平台进行原生应用的自动化测试,并且希望简单高效,可以选择 UIAutomator2;如果需要跨平台支持、更灵活的定位方式和丰富的生态系统,可以考虑使用 Appium。

### 使用 uiautomator2 ADB 安装应用程序 为了使用 `uiautomator2` 结合 ADB 命令来安装应用程序,需先完成必要的环境配置。确保已将 ADB 添加至系统的环境变量中,并通过 Python 的包管理工具 pip 来安装 `uiautomator2` 库。 #### 环境准备 对于库的安装可以采用清华大学开源软件镜像站加速下载过程: ```bash pip install -i https://pypi.tuna.tsinghua.edu.cn/simple uiautomator2 ``` 此命令用于安装最新稳定版本的 `uiautomator2`[^2]。若希望获取预发布版,则可执行如下命令: ```bash pip install --pre uiautomator2 ``` 另外,还需初始化设备端程序,这一步骤可通过以下 Python 脚本来触发: ```python import uiautomator2 as u2 d = u2.connect() # 连接默认的第一台设备 d.service('uiautomator').start() # 启动 uiautomator 服务 print(d.info) # 打印设备信息验证连接成功与否 ``` 上述脚本不仅启动了所需的后台服务,同时也确认了与目标 Android 设备的成功连接[^1]。 #### 安装应用程序 当一切准备就绪之后,可以通过 ADB 或者直接借助 `uiautomator2` 提供的方法来进行 APK 文件的安装操作。以下是两种方式的具体实现方法: ##### 方法一:使用 ADB 命令行工具 在命令提示符窗口中输入下列指令即可完成指定 APK 文件向移动终端上的部署工作: ```bash adb install path_to_your_apk_file.apk ``` 这里的 `path_to_your_apk_file.apk` 需要替换为实际的应用程序文件路径[^4]。 ##### 方法二:利用 `uiautomator2` API 接口 除了传统的命令行手段外,还可以更优雅地运用编程接口达成相同目的,在 Python 中编写相应逻辑如下所示: ```python apk_path_on_device = "/sdcard/your_app_name.apk" local_apk_path = "C:\\Users\\YourUsername\\Downloads\\app-release.apk" # 将本地APK上传到远程设备存储空间内 d.push(local_apk_path, apk_path_on_device) # 利用install函数进行安装处理 result = d.app_install(apk_path_on_device) if result: print("Application installed successfully.") else: print("Failed to install application.") ``` 这段代码片段展示了怎样把位于计算机中的 APK 文件推送至安卓装置内部储存位置后再实施安装流程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值