扩展命令行用法
Appium允许灵活安装和管理各种扩展,例如驱动程序(为Appium提供自动化给定平台的能力)和插件(可以增强或改变单个Appium命令的工作方式)。 要从概念上理解这些实体,请查看引言。
驱动程序和插件的管理由Appium的扩展命令行处理。
注意
这篇文档使用了占位符来指代各种选项。在参考文档中,任何时候你看到这些占位符,确保你用正确的实际内容替换它们。
| 占位符 | 含义 |
|---|---|
<ext-type> |
"Extension type",它应该是driver或plugin;所有的扩展命令行都可以与驱动程序或插件一起使用,因此您必须指定将使用哪种类型的扩展。 |
<ext-name> |
"Extension name",这是对appium <ext-type> list的调用中找到的扩展名的简称;这与扩展的NPM包名不同,或者通常来说,与扩展的“安装规范”是有所区别的。 |
<install-spec> |
"Install specification",这是指用于指示Appium应安装什么扩展的字符串。 |
<install-source> |
这是指Appium安装扩展程序应该使用的方法。 |
命令¶
所有扩展命令行都以appium <ext-type>开头,即 appium driver或appium plugin。
所有扩展命令行都可以接受一个可选的--json参数,这个参数会让命令的输出结果以机器可读的JSON字符串形式返回,而不是标准的、为人类阅读优化的、带颜色的输出。
doctor¶
运行给定扩展的医生检查,以验证扩展的先决条件是否配置正确。请注意,并非所有的扩展都包含医生检查工具。 有关如何创建它们的更多详细信息,请参阅构建检查工具教程。
使用方法:
必须的参数:
<ext-type>:必须为driver或plugin<ext-name>:您要运行医生检查的扩展名
可选的参数:
--json:以JSON格式返回结果
示例(运行UiAutomator2驱动程序的医生检查):
install¶
安装一个扩展。如果安装成功,返回扩展的短名称,这个短名称可以在其他扩展命令行的调用中使用。如果扩展是一个驱动程序,还应该注明可以使用该驱动程序的平台。
使用方法:
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格式返回结果
| 安装源类型 | 行为 |
|---|---|
| None | 如果不使用--source选项,Appium将执行默认操作。此时,Appium会检查<install-spec>并将其与执行appium <ext-type> list命令时列出的扩展名称进行匹配,也就是与官方认可的扩展名称进行匹配。如果匹配成功,Appium将通过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安装
beta版本的@appium/fake-driver: -
安装本地开发的插件:
list¶
列出已安装和可用的扩展。可用扩展包括Appium团队正式认可的扩展,但您不仅限于安装此列表中显示的扩展。
使用方法:
必须的参数:
<ext-type>:必须为driver或plugin
可选的参数:
--installed:仅显示已安装的扩展程序,而不是已安装和可用的扩展程序--updates:对于通过NPM安装的扩展,如果有任何更新,则显示一条消息--json:以JSON格式返回结果
run¶
运行扩展包中包含的脚本。扩展作者可以包含可运行的脚本,以协助设置或执行其他任务。这些脚本由扩展作者命名(本指南中称为<script-name>),通常会在扩展文档中加以说明。
使用方法:
必须的参数:
<ext-type>:必须为driver或plugin<ext-name>:要运行脚本的扩展名<script-name>:扩展发布的脚本的名称
可选的参数:
script-args:任何Appium无法识别为其自身参数集的参数,都将传递给扩展脚本--json:以JSON格式返回结果
示例(运行UiAutomator2驱动程序附带的reset脚本):
update¶
更新通过NPM安装的一个或多个扩展。默认情况下,Appium不会自动更新超过主要版本边界的任何扩展,以防止意外的破坏性更改。
使用方法:
必须的参数:
<ext-type>:必须为driver或plugin<ext-name>:要更新的扩展名或已安装的字符串(将更新所有已安装的扩展)
可选的参数:
--unsafe:允许Appium更新到超越主要版本界限的版本--json:以JSON格式返回结果
uninstall¶
删除已安装的扩展。
使用方法:
必须的参数:
<ext-type>:必须为driver或plugin<ext-name>:要卸载的扩展程序的名称
可选的参数:
--json:以JSON格式返回结果