1. Appium
    • 作用:
      • 跨平台自动化测试:Appium 是一个开源的跨平台自动化测试框架,用于对移动应用(包括原生应用、混合应用和移动网页应用)进行自动化测试。它允许测试人员使用多种编程语言(如 Python、Java、JavaScript 等)编写测试脚本,通过 WebDriver 协议与移动设备进行通信。
      • 模拟用户操作:能够模拟用户在移动设备上的各种操作,如点击、滑动、输入文本等。例如,在测试一个购物 APP 时,可以使用 Appium 模拟用户登录、浏览商品、添加到购物车、结算等一系列操作,以验证应用的功能是否正确。
      • 支持多种测试类型:除了功能测试,还可以用于兼容性测试(在不同设备和操作系统版本上测试应用)、性能测试(结合其他工具获取应用性能数据)等。比如,可以在多种不同屏幕尺寸和操作系统版本的手机上,使用 Appium 测试 APP 的兼容性。
    • 与其他工具的区别:
      • 跨平台特性突出:与 UI Automator 2 和 WDA 相比,Appium 最大的优势在于它支持 iOS 和 Android 双平台。UI Automator 2 主要用于 Android 平台,WDA 主要用于 iOS 平台,而 Appium 可以使用一套脚本在两个平台上进行测试,方便进行跨平台的自动化测试策略规划。
      • 协议通用性:基于 WebDriver 协议,这使得它的测试脚本语法在不同平台上具有一致性。而 UI Automator 2 和 WDA 分别基于 Android 和 iOS 原生的测试框架,它们的操作方式和语法更贴近各自平台的原生开发。
      • 编程语言多样性:Appium 支持多种编程语言编写测试脚本,这为不同技术背景的测试人员提供了便利。而 UI Automator 2 主要使用 Java 或 Kotlin(因为它基于 Android 原生框架),WDA 通常与 Objective - C 或 Swift(用于 iOS 原生开发)联系紧密,不过也可以通过一些方式使用其他语言进行调用。
  2. WDA(WebDriverAgent)
    • 作用:
      • iOS 自动化测试核心工具:WDA 是 Facebook 开发的用于 iOS 自动化测试的工具,它是在 XCTest 框架基础上构建的。它作为一个代理运行在 iOS 设备上,接收测试脚本发送的命令,并在设备内部执行相应的操作,从而实现对 iOS 原生应用和部分基于 Safari 浏览器的网页应用的自动化测试。
      • 深度集成 iOS 系统特性:能够很好地利用 iOS 系统原生的测试能力,例如在测试涉及 iOS 系统权限管理、通知等功能时,WDA 能够更准确地模拟用户操作。比如,在测试一个需要获取用户位置权限的地图应用时,WDA 可以有效地模拟用户授予或拒绝权限的操作。
      • 性能测试支持(与 iOS 工具结合):在 iOS 性能测试方面有一定的优势,特别是在与 Xcode 和 Instruments 等苹果原生工具结合使用时,可以更方便地获取 iOS 应用的性能数据,如 CPU 使用率、内存占用等。
    • 与其他工具的区别:
      • 平台局限性:仅适用于 iOS 平台,这是与 Appium 的显著区别。而 Appium 可以同时用于 iOS 和 Android 平台。
      • 紧密集成 iOS 原生框架:与 iOS 系统的原生测试框架(XCTest)紧密集成,其操作方式和功能更侧重于利用 iOS 系统本身的特性。相比之下,Appium 虽然也可以对 iOS 应用进行测试,但它是通过中间层(Appium Server)将通用的 WebDriver 协议命令转换为 iOS 可理解的操作,相对来说与 iOS 原生框架的集成没有 WDA 那么深入。
  3. UI Automator 2
    • 作用:
      • Android 自动化测试框架:UI Automator 2 是 Android 官方提供的自动化测试框架,用于对 Android 应用进行自动化测试。它可以对 Android 设备上的应用进行操作,如启动应用、点击界面元素、获取界面元素信息等。例如,在测试一个新闻 APP 时,可以使用 UI Automator 2 打开应用、滚动新闻列表、点击新闻详情等操作。
      • 高效的元素定位和操作:提供了多种方式来定位 Android 应用中的界面元素,如通过资源 ID、文本内容、类名等。这使得测试人员能够准确地对应用中的各个元素进行操作,以验证应用的功能。
      • 支持跨应用测试:可以实现跨应用的操作,例如在测试一个分享功能时,可以从一个应用分享内容到另一个应用,跨越应用边界进行测试。
    • 与其他工具的区别:
      • 平台特定性:主要用于 Android 平台,与 WDA 专注于 iOS 平台相对应。而 Appium 可以跨平台使用。
      • 基于 Android 原生框架:它基于 Android 原生的测试框架,所以在操作 Android 应用时能够更好地利用 Android 系统的特性,如与 Android 系统的辅助功能服务紧密结合,实现自动化操作。这与 Appium 的跨平台通用操作方式有所不同,Appium 在 Android 上的操作是通过将 WebDriver 协议适配到 Android 原生框架来实现的。

更多推荐