什么是 Appium?
Appium 是一个用于测试原生、混合和移动 Web 应用程序的开源自动化框架。它允许您使用相同的 API 针对 iOS、Android 和 Windows 应用程序编写测试。因为它使用标准的 WebDriver 协议,您可以使用任何拥有 Selenium 客户端库的语言来编写测试,包括 Java、Python、JavaScript、Ruby 和 C#。Appium 的一个核心理念是,您不必以任何方式修改或重新编译您的应用程序就能对其进行测试。
主要特点
- 跨平台: 编写一套测试,即可在 iOS 和 Android 两个平台上运行。
- 语言无关: 使用您喜欢的编程语言和测试框架来编写测试。
- 真实设备和模拟器: 在真实硬件、模拟器或仿真器上运行测试。
- 无需修改应用: Appium 自动化您实际发布的应用程序,无需在您的应用程序中添加任何额外的代码或 SDK。
- 活跃的社区: 由一个庞大而活跃的开源社区支持,确保不断的更新和支持。
使用案例
- 自动化功能测试: 自动化重复的功能和回归测试,以确保新功能不会破坏现有功能。
- CI/CD 集成: 将 Appium 测试集成到您的持续集成/持续部署 (CI/CD) 流程中,以在每次构建时自动进行测试。
- 跨平台验证: 确保在不同设备和操作系统上拥有一致的用户体验和功能。
- 测试移动 Web 应用: 自动化测试移动浏览器(如 iOS 上的 Safari 和 Android 上的 Chrome)上的 Web 应用程序。
入门指南
这是一个使用 Python 开始使用 Appium 的简单“Hello World”风格的示例。此示例假定您已运行 Appium 服务器并安装了必要的客户端库。它将在 Android 设备上启动计算器应用。
首先,安装 Python 客户端: ```bash pip install Appium-Python-Client
接下来,编写您的测试脚本: ```python from appium import webdriver from appium.webdriver.common.appiumby import AppiumBy import time
测试会话的 Desired Capabilities
desired_caps = { “platformName”: “Android”, “appium:deviceName”: “Android Emulator”, “appium:appPackage”: “com.android.calculator2”, “appium:appActivity”: “.Calculator”, “appium:automationName”: “UiAutomator2” }
初始化驱动程序
driver = webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’, desired_caps)
try: # 示例:点击数字 ‘2’、加号、数字 ‘3’ 和等号 driver.find_element(by=AppiumBy.ID, value=”com.android.calculator2:id/digit_2”).click() driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value=”plus”).click() driver.find_element(by=AppiumBy.ID, value=”com.android.calculator2:id/digit_3”).click() driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value=”equals”).click()
# 稍等片刻以查看结果
time.sleep(2)
# 获取结果并验证
result = driver.find_element(by=AppiumBy.ID, value="com.android.calculator2:id/result").text
assert result == "5"
print("测试通过!结果是: " + result)
finally: # 退出驱动程序会话 driver.quit()
定价
Appium 是一个完全免费和开源的工具,根据 Apache 2.0 许可证分发。您可以免费将其用于个人和商业项目。