如何在 iOS 和 Android 设备上设置 Appium
已发表: 2024-03-26通过我们的综合指南了解如何在 iOS 和 Android 设备上设置 Appium。 立即开始移动测试自动化!
某些电子商务移动应用程序也认识到使用移动应用程序方法实施强大的移动应用程序测试策略的重要性。 这些应用程序经过了全面的测试,利用各种移动策略来确保兼容性。
随着组织和企业越来越多地选择 Appium 来开发可跨各种平台访问的可扩展应用程序,以满足对移动应用程序日益增长的需求,Appium 的重要性日益凸显。 这种转变是由创建移动应用程序的迫切需要推动的,这些应用程序不仅要满足用户的期望,而且要有效、一致地运行。
在本文中,了解如何在 iOS 和 Android 设备上设置 Appium 并在在线设备场上测试您的应用程序。
什么是移动测试?
前者侧重于通过检查硬件组件和软件功能(包括屏幕、应用程序和摄像头)来验证设备的质量。 相比之下,后者仅专注于确保软件应用程序的一致性和功能性,保证与设备在硬件、软件和连接方面的无缝兼容性。
移动应用程序主要分为三种类型,每种类型都有不同的特征:
本机移动应用程序:
这些应用程序是针对特定平台精心设计的,例如 Android、iOS 或 Windows SDK。 它们经过精心调整,可在指定设备或平台上无缝运行,例如专为 Apple 设备定制的 iOS 应用程序。 值得注意的例子包括 Snapchat、Google 地图和 Skype。
移动网络应用程序:
这些应用程序专为移动浏览器开发,使用 JavaScript、CSS 和 HTML 等基于 Web 的语言进行设计。 它们的显着特点是不需要用户安装或更新,这使其成为一种经济高效的解决方案。 著名的例子包括 AliExpress、OLX 和 Flipkart。
混合移动应用程序:
混合应用程序融合了本机应用程序和 Web 应用程序的功能,在通过浏览器运行时提供了在本机设备上安装的灵活性。
设置 Appium 的先决条件
要开始使用 Appium 自动化移动应用程序测试之旅,需要注意几个基本的软件和硬件组件:
- 下载并安装 Appium 桌面/服务器。
- 安装 JDK(Java 开发工具包)。
- 下载并安装Java并配置环境变量。
- 下载并设置 Android SDK(软件开发工具包)。
- 安装 Eclipse。
- 安装 Node.js。
- 获取 Java 客户端 jar 和 Selenium jar。
- 获取 APK – 移动自动化应用程序。
- 准备移动设备。
- 安装移动设备的 USB 驱动程序。
Appium 在 Android 中的工作原理
Android 设备上的 Appium 测试涉及利用 UIAutomator 测试用例来验证应用程序的功能和可靠性。 这可确保应用程序在真实用户条件下按预期运行,保持最佳一致性。
利用 Appium 自动化 Android 应用程序可以带来多种优势。 它通过自动执行重复操作来简化测试工作流程,使 QA 测试人员能够深入研究更复杂的测试场景。 自动化测试可以频繁运行,从而提高测试覆盖率并快速检测回归。
在云端使用真实的 Android 设备:优势
在本博客中深入研究使用 Appium 自动化 Android 应用程序的细节之前,有必要了解真实设备云提供商的概念。 这些提供商在云基础设施内提供 Appium 自动化,并提供对云上托管的正版设备、不同平台和浏览器的访问。
由 AI 驱动的测试编排和执行平台(例如 LambdaTest)利用 AI 功能并提供包含 3000 多个真实设备和操作系统的广泛在线设备群。 该基础设施通过 Appium 网格实现可扩展的跨设备测试。 此外,像 LambdaTest 这样的平台有助于在线 Android 模拟器上实现 Android 应用程序的自动化。
在 Android 设备上运行 Appium 测试的最佳实践
- 下载必要的组件(Appium Server、Appium Jar 文件和 Java)。
- 安装Java并配置环境变量。
- 为启用开发者模式的 Android 设备编写 Appium 测试脚本。
- 在真实的 Android 设备上执行测试,以确保最佳的用户友好性。
使用 Appium 自动化 iOS 应用测试的好处
Appium 已展现出显着的进步,并迅速成为移动应用程序受欢迎的自动化测试工具。 大约 35% 的组织更喜欢 Appium,而不是免费/开源功能测试工具。
让我们看看 iOS Appium 自动化测试的一些显着优势。 虽然 iOS 自动化有多种选择,但 Appium 因其用户友好性和广泛的社区支持而脱颖而出。
跨平台能力:
Appium 本质上是“跨平台”的,允许跨多个平台(例如 iOS、Android 和 Windows)进行相同的测试。 使用 API 时无需修改代码,有助于测试脚本的模块化。
消除额外的依赖:
从Appium 1.15.0版本开始,Appium通过appium-ios-device与真实设备通信,无需额外的依赖。 appium-xcuitest-driver 的官方文档是解决依赖关系的宝贵资源。
对主要 iOS 版本的支持:
Appium 提供对主要 iOS 版本的支持。 Apple XCUITest 支持 iOS 9.3 及以上版本,而 Apple 的 UI Automator 支持 9.3 以下版本。 通过此 XCUITest 测试教程可以进一步了解 XCUITest。
无需重新编译应用程序:
与某些需要重新编译应用程序的框架不同,Appium 无需更改应用程序代码即可运行。 这意味着无需在代码中进行更改或在 XCode 中打开项目; 您可以简单地使用 .app 文件来自动化应用程序。
无忧执行:
Appium 通过促进真实设备、云测试以及模拟器和仿真器上的测试来支持无忧执行。 这种灵活性允许跨各种平台无缝执行自动化套件。
Appium 在 iOS 中如何工作
与 Android 类似,Appium 使用 Apple UIAutomation API 来测试 iOS 设备上的用户界面元素。 这涉及使用 RESTful 服务,通过发送 JSON 文件与 iOS 应用程序交互,通过 Apple 的 UIAutomation AP 利用按钮和文本标签等 UI 元素。
使用 Appium 启动 iOS 应用程序自动化
使用 Appium 进行 iOS 应用程序测试的基本步骤概述如下:
安装 Appium 和依赖项:
按照前面几节中概述的安装过程,确保您的设备上安装了 Appium。
准备iOS环境:
要自动化 iOS 应用程序,macOS 计算机是必不可少的,因为 Appium iOS 自动化依赖于 Xcode,而 Xcode 只在 macOS 上提供。 确保安装 Xcode 命令行工具。
iOS 模拟器或设备:
iOS 应用程序自动化可以在 iOS 模拟器或物理 iOS 设备上执行。 确保所需设备或模拟器的可访问性。
启动 Appium 服务器:
启动 Appium 服务器并在 Appium 设置中指定服务器地址和端口。
定义所需的能力:
在您的 Appium 测试脚本中,阐明与 iOS 测试相关的所需功能。 这些功能包含平台名称、平台版本、设备名称和应用程序路径等详细信息。
设置自动化框架:
Appium 使用 XCUITest 作为 iOS 测试的自动化框架。 将 AutomationName 功能设置为“XCUITest”以指示使用此框架。
iOS 应用程序安装:
使用应用程序功能指定指定用于自动化的应用程序。
初始化Appium驱动:
在您的测试脚本中,通过指定 Appium 服务器的 URL 和定义的所需功能来实例化适用于 iOS 的 Appium 驱动程序。
编写测试用例:
可以使用 XPath 或可访问性 ID 等定位器来定位元素。
执行测试用例:
执行您的 Appium 测试脚本以运行自动化。 该脚本将在选定的设备或模拟器上启动 iOS 应用程序并执行指定的操作。
分析测试结果:
Appium 提供全面的测试日志和报告,帮助分析测试结果。 这可以识别测试用例中的任何问题或失败。
调试和优化:
如果测试用例失败或需要改进,请迭代地调试和完善脚本。 此过程可确保自动化测试的可靠性和有效性。
局限性
不支持 Windows 应用程序:
Appium 主要迎合 Android 和 iOS,因此不适合测试 Windows 应用程序。
有限的 iOS 模拟器功能:
使用 Appium 时,对某些高级 iOS 模拟器功能的访问可能会受到限制。
本机应用程序限制:
测试本机应用程序的特定功能(例如生物识别身份验证)可能会在 Appium 框架内带来挑战。
在 iOS 设备上运行 Appium 测试的最佳实践
- 在测试之前在设备上安装并启动 Appium 服务器。
- 收集有关 iOS 设备的必要信息以配置所需的功能。
- 在 Eclipse 中创建一个新项目,用于为 iOS 设备编写 Appium 测试场景脚本。
- 使用 Appium Desktop Inspector 检查 iOS UI 以进行准确的调试。
- 在真实的 iOS 设备上执行测试以获得预期结果。
结论
Appium 的跨平台功能和用户友好的功能使其广泛应用于 iOS 和 Android 平台上的移动应用程序测试。 尽管如此,在开始使用 Appium 进行应用程序测试之前,有必要建立关键的软件和硬件组件。 此设置涉及配置 Appium 服务器以及安装 JDK、Java、SDK 和其他必要元素。 一旦这些组件成功就位,您就可以进行高效的测试。