扩展命令行使用
Appium 允许灵活安装和管理各种扩展,例如驱动程序(为 Appium 提供自动化特定平台的功能)和插件(可以增强或改变单个 Appium 命令的工作方式)。有关这些实体的概念理解,请查看介绍。
驱动程序和插件的管理由 Appium 的扩展 CLI(命令行界面)处理。
注意
此参考使用占位符来引用各种选项。在参考中看到这些占位符的任何地方,请确保将其替换为正确类型的实际内容。
占位符 | 含义 |
---|---|
<ext-type> |
"扩展类型"。它应该是 driver 或 plugin 。所有扩展 CLI 命令都可以与驱动程序或插件一起使用,因此您必须指定将使用哪种类型的扩展 |
<ext-name> |
"扩展名称"。这是在调用 appium <ext-type> list 时找到的扩展的简短名称。这与扩展的 NPM 包名称或通常的扩展“安装规范”不同。 |
<install-spec> |
"安装规范"。这指的是用于指示 Appium 应该安装哪个扩展的字符串。 |
<install-source> |
这指的是 Appium 应该用来安装扩展的方法。 |
命令¶
所有扩展 CLI 命令都以 appium <ext-type>
开头,即 appium driver
或 appium plugin
。
所有扩展 CLI 命令都可以接受一个可选的 --json
参数,该参数将以机器可读的 JSON 字符串形式返回命令的结果,而不是标准输出,标准输出是彩色化的,并针对人类消费进行了调整。
list
¶
列出已安装和可用的扩展。“可用”扩展包括 Appium 团队正式认可的扩展,但您不限于仅安装此列表中显示的扩展。
用法
必需参数
<ext-type>
: 必须是driver
或plugin
可选参数
--installed
: 仅显示已安装的扩展,而不是已安装的扩展加上可用的扩展--updates
: 对于通过 NPM 安装的扩展,如果存在任何更新,则显示一条消息--json
: 以 JSON 格式返回结果
install
¶
安装扩展。如果成功,将使用可以在扩展 CLI 的其他调用中使用的扩展的简短名称进行响应。如果扩展是驱动程序,还会注意哪些平台可以使用该驱动程序。
用法
appium <ext-type> install <install-spec> [--source=<install-source>] [--package=<package-name>] [--json]
必需参数
<ext-type>
: 必须是driver
或plugin
<install-spec>
: 这是您要安装的扩展的名称、位置和/或版本。它的可能值取决于<install-source>
(见下文)。
可选参数
--source
: 这指示 Appium 在哪里找到您的扩展。有关可能的源类型表及其对应的安装规范,请参见下文。--package
: 当<install-source>
为git
或github
时,--package
是必需的。它应该是扩展的 Node.js 包名称。没有此信息,Appium 将无法找到已安装的包。--json
: 以 JSON 格式返回结果
安装源类型 | 行为 |
---|---|
无 | 这是在没有使用 --source 时,默认的行为。在这种情况下,Appium 将查看 <install-spec> 并将其与运行 appium <ext-type> list 时可用的扩展名称进行匹配,即与正式认可的扩展名称进行匹配。如果找到,它将通过 NPM 安装该扩展的最新版本 |
npm |
根据其 NPM 包名称安装扩展。在这里,<install-spec> 必须是 NPM 包名称,以及任何其他 NPM 安装修饰符,如版本(见下文) |
github |
通过 <org>/<repo> 形式的 GitHub 规范安装扩展 |
git |
通过 Git URL 安装扩展(例如,git+ssh://git-host.com/repo.git ) |
local |
通过本地路径安装扩展。这必须是驱动程序的 Node.js 包信息所在的目录的路径。 |
基于 NPM 的 <install-spec>
¶
当 Appium 通过 NPM 安装扩展时(当 --source
被省略或设置为 npm
时,情况就是这样),<install-spec>
可能很复杂,并且可以包含 npm install
允许的任何类型的信息
[@scope]/<name>
[@scope]/<name>@<version>
[@scope]/<name>@<tag>
[@scope]/<name>@<version range>
示例¶
-
安装最新的 XCUITest 驱动程序
-
安装版本为 4.11.1 的 XCUITest 驱动程序
appium driver install [email protected]
-
从 NPM 安装
@appium/fake-driver
的beta
版本 -
安装本地开发的插件
update
¶
更新一个或多个通过 NPM 安装的扩展。默认情况下,Appium 不会自动更新任何其主版本中包含修订版的扩展,以防止意外的重大更改。
用法
必需参数
<ext-type>
: 必须是driver
或plugin
<ext-name>
: 要更新的扩展的名称,或字符串installed
(这将更新所有已安装的扩展)
可选参数
--unsafe
: 指示 Appium 继续更新,即使超过了主要版本边界--json
: 以 JSON 格式返回结果
uninstall
¶
删除已安装的扩展。
用法
必需参数
<ext-type>
: 必须是driver
或plugin
<ext-name>
: 要卸载的扩展的名称
可选参数
--json
: 以 JSON 格式返回结果
run
¶
运行扩展包中包含的脚本。扩展作者可以包含可运行的脚本,这些脚本可以帮助进行设置或执行其他任务。这些脚本由扩展作者命名(在此参考中称为 <script-name>
),通常会在扩展文档中进行说明。
用法
必需参数
<ext-type>
: 必须是driver
或plugin
<ext-name>
: 要运行其脚本的扩展的名称<script-name>
: 扩展发布的脚本的名称
可选参数
script-args
: Appium 不解释为属于其自身参数集的任何参数都将传递给扩展脚本--json
: 以 JSON 格式返回结果
示例(运行 UiAutomator2 驱动程序中包含的 reset
脚本)
doctor
¶
如果给定扩展有任何医生检查,则运行这些检查。扩展作者可以包含可运行的脚本,这些脚本可以帮助进行驱动程序或插件先决条件验证。这些脚本必须是有效的 Node.js 源代码,必须在包清单中列出,并且必须导出符合特定要求的类实例。有关这些要求的更多详细信息,请参见构建医生检查教程。
用法
示例(运行 UiAutomator2 驱动程序的医生检查)