移动应用程序测试的自动化几乎与智能手机的普及同时出现。最初的自动化很复杂,因为不同平台的工具存在很大差异,这给通用测试的维护带来了问题。
最初,移动应用程序的自动化是通过针对每个平台的单独工具来实现的,例如,Android 的 UI Automator 和 iOS 的 UIAutomation/XCUITest。这导致了测试场景的重复和额外的开支。
后来出现了跨平台的框架——例如,Appium,它允许在两个平台上使用共同的代码,库和集成方法的多样性也有所扩展。
主要挑战:
对于移动应用程序的自动化,建议使用跨平台工具(如 Appium、Detox 等),并根据平台的特点构建可重用代码的测试。确保测试有高质量的模拟和快速安装的测试数据。
关键特点:
可以在 Windows 机器上使用 Appium 启动 iOS 应用程序的测试吗?
不,可以全面进行 iOS 应用程序的自动化测试仅在 macOS 上进行,因为 XCUITest/Xcode 类型的工具仅承认 Apple 系统。
为什么不建议对移动应用程序直接运行 Selenium/Webdriver 测试?
Selenium/Webdriver 是为浏览器测试而设计的。移动应用程序使用特定的驱动程序(例如,Appium),它们模拟应用程序内部的工作。
可以只依赖模拟器进行测试而不使用真实设备吗?
不,单靠模拟器无法覆盖平台的所有特点:性能问题、传感器差异和操作系统行为仅在真实设备上显现。
自动化测试团队为 Android 编写了单独的测试,通过 UI Automator,iOS 则通过 XCUITest,没有使用跨平台的包装。
优点:
缺点:
团队引入了使用 Page Object 模式的 Appium,能够以通用逻辑覆盖 90% 的测试,并将特定行为仅留在单独的方法中。
优点:
缺点: