Appium 拥有相关软件和工具的生态系统。在本指南中,我们将讨论重要的 官方支持和社区支持的项目。
Appium 有一个图形客户端,可用于手动执行 Appium 命令、检查应用程序 层次结构、查看屏幕截图等。它对于 Appium 测试开发非常有用。
您可以 在此处了解有关检查器的更多信息:Appium Inspector
如果没有至少一个驱动程序,您将无法使用 Appium!以下是当前的驱动程序 由 Appium 团队维护。单击每个驱动程序的链接以查看特定安装 该驱动程序的说明和文档。
要了解有关驱动程序是什么以及它们如何工作的更多信息,请查看 驱动程序介绍
驱动 | 安装密钥 | 平台 | 模式 |
---|---|---|---|
Chromium | chromium |
macOS, Windows, Linux | Web |
Espresso | espresso |
Android | Native |
Gecko | gecko |
macOS, Windows, Linux, Android | Web |
Mac2 | mac2 |
macOS | Native |
Safari | safari |
macOS, iOS | Web |
UiAutomator2 | uiautomator2 |
Android | Native、Hybrid、Web |
XCUITest | xcuitest |
iOS | Native、Hybrid、Web |
当然,您可以使用Appium驱动程序CLI安装在那里找到的任何其他驱动程序。
这些驱动程序不由 Appium 团队维护,可用于面向其他平台。
驱动 | 安装密钥 | 平台 | 模式 | 支持方 |
---|---|---|---|---|
Flutter | --source=npm appium-flutter-driver |
iOS, Android | Native | 社区 |
LG WebOS | --source=npm appium-lg-webos-driver |
LG TV | Web | HeadSpin |
Linux | --source=npm @stdspa/appium-linux-driver |
Linux | Native | @fantonglang |
Roku | --source=npm @headspinio/appium-roku-driver |
Roku | Native | HeadSpin |
Tizen | --source=npm appium-tizen-driver |
Android | Native | 社区 / Samsung |
TizenTV | --source=npm appium-tizen-tv-driver |
Samsung TV | Web | HeadSpin |
Windows | --source=npm appium-windows-driver |
Windows | Native | 社区/Microsoft |
Youi | --source=npm appium-youiengine-driver |
iOS, Android, macOS, Linux, tvOS | Native | 社区 / you.i |
注意
如果您希望在 Appium 文档中列出一个 Appium 驱动程序,请随意 以创建 PR,以将其添加到此部分,并提供指向驱动程序文档的链接。
您需要客户端来编写和运行 Appium 脚本。要了解有关客户端的更多信息,请阅读我们的 客户端简介。以下是已知 Appium 客户端的列表。你会想变得非常 熟悉您的客户端文档(以及任何Selenium客户端的文档) Appium 客户端依赖于),因为这是您将用作 Appium 的主要接口。
客户 | 语言 | 支持方 |
---|---|---|
Appium Java client | Java | Appium团队 |
Appium Python client | Python | Appium团队 |
Appium Ruby Core client(推荐) Appium Ruby client |
Ruby | Appium团队 |
WebDriverIO Nightwatch |
Node.js | 社区 |
Appium .NET client | C# | Appium 团队* |
RobotFramework | DSL | 社区 |
一般来说,任何与W3C WebDriver规范兼容的客户端都可以与Appium很好地集成。 某些特定于 Appium 的命令可能无法在其他客户端中实现。
Appium Python Client | Selenium binding | Python version |
---|---|---|
3.0.0 + |
4.12.0 + |
3.8+ |
2.10.0 - 2.11.1 |
4.1.0 - 4.11.2 |
3.7+ |
2.2.0 - 2.9.0 |
4.1.0 - 4.9.0 |
3.7+ |
2.0.0 - 2.1.4 |
4.0.0 |
3.7+ |
1.0.0 - 1.1.0 |
3.x |
3.7, 3.8 |
0.52 及以下 |
3.x |
2.7, 3.4 - 3.7 |
注意:Appium-Python-Client依赖于 Selenium Python binding,因此 Selenium Python binding更新可能会影响 Appium-Python-Client 的功能。 例如,Selenium 绑定中的某些更改可能会中断 Appium 客户端,所以请注意二者版本之间的兼容性。
Appium 插件提供了扩展或修改 Appium 行为的方法。这是插件列表 目前由 Appium 团队维护:
插件 | 安装密钥 | 描述 | 支持方 |
---|---|---|---|
Execute Driver | execute-driver |
在对 Appium 服务器的单次调用中运行整批命令 | Appium团队 |
Images | images |
图像匹配和比较功能 | Appium团队 |
Relaxed Caps | relaxed-caps |
放宽 Appium 对供应商对功能前缀的要求 | Appium团队 |
Universal XML | universal-xml |
不要使用 iOS 和 Android 的标准 XML 格式,而是使用在两个平台上相同的 XML 定义 | Appium团队 |
插件 | 安装密钥 | 描述 | 支持方 |
---|---|---|---|
AltUnity | --source=npm appium-altunity-plugin |
通过 AltUnityTester 框架,将 Unity 游戏和应用定位到具有新上下文的自动化 | HeadSpin |
Device Farm | --source=npm appium-device-farm |
Manage and create driver session on connected android devices and iOS Simulators. | @AppiumTestDistribution |
OCR | --source=npm appium-ocr-plugin |
通过 OCR 文本查找元素 | @jlipps |
Reporter | --source=npm appium-reporter-plugin |
生成带有屏幕截图的独立合并 html 报告。可以从appium服务器获取报告,而不必担心繁重的工作,例如屏幕截图捕获,报告生成等。 | @AppiumTestDistribution |
注意
如果您维护一个 Appium 插件,并希望在 Appium 文档中列出,请随意 制作 PR 以将其添加到本节中,并带有指向插件文档的链接。
以下工具也可能对 Appium 用户有用:
名字 | 描述 | 支持方 |
---|---|---|
appium-installer | 帮助设置 Android 和 iOS 的 Appium 环境 | @AppiumTestDistribution |
更多详情(appium.io官网):Appium 生态系统 - Appium 文档