管理驱动程序和插件
要使用 Appium 做任何有用的事情,您至少需要安装一个 驱动程序,否则 Appium 将不知道如何自动化任何东西。有一个完整的 生态系统 的驱动程序和插件在那里!
本指南将帮助您了解如何管理这些驱动程序和插件。有两种基本策略:使用 Appium 的扩展 CLI 接口,或在基于 npm
的项目中自己管理扩展。
注意
目前不支持其他包管理器。
使用 Appium 的扩展 CLI¶
使用 Appium 的 扩展 CLI,您可以让 Appium 为您管理驱动程序和插件。您将使用 CLI 命令告诉 Appium 您希望安装、更新或删除哪些扩展。以下是如何使用 CLI 安装驱动程序的示例
此命令将安装最新版本的 XCUITest 驱动程序。扩展 CLI 带有各种命令和参数;有关所有详细信息,请参阅该命令的文档。
当 Appium 为您管理扩展时,最重要的一个问题是:它们安装在哪里?Appium 在由 APPIUM_HOME
环境变量指定的目录中管理扩展。您可以将该变量设置为任何您喜欢的值,Appium 将在其目录中管理其扩展。因此,您也可以使用 APPIUM_HOME
环境变量来管理不同的扩展集,例如,如果您希望在冲突的版本中安装相同的驱动程序
APPIUM_HOME=/path/to/home1 appium driver install [email protected]
APPIUM_HOME=/path/to/home2 appium driver install [email protected]
运行这些命令将导致创建两个单独的 APPIUM_HOME
目录,并使用相应的 XCUITest 驱动程序版本填充它们。然后,您可以使用相同的环境变量来指示 Appium 在启动时使用哪个版本
APPIUM_HOME=/path/to/home1 appium # use xcuitest driver 4.11.1
APPIUM_HOME=/path/to/home2 appium # use xcuitest driver 4.11.2
如果您不想设置 APPIUM_HOME
,则无需设置!默认情况下,Appium 会将 APPIUM_HOME
设置为用户主目录中的 .appium
目录。
这些安装的包将由 $APPIUM_HOME/node_modules/.cache/appium/extensions.yaml
中的 extensions.yaml
管理。
使用 npm
自己动手¶
由于 Appium 和 Appium 驱动程序是 Node.js 程序,如果您将 Appium 脚本集成到您自己的 Node.js 项目中,则有一种替代方法来管理驱动程序和插件:通过 npm
,就像任何其他依赖项一样。基本上,无论何时运行 Appium,如果您没有明确设置 APPIUM_HOME
,它将
- 尝试确定当前目录是否在
npm
包内。 - 如果是,它将检查
appium
是否是项目package.json
中的依赖项(开发、生产或对等)。 - 如果是,除非您在环境中指定了
APPIUM_HOME
,否则 Appium 将忽略该package.json
文件中定义的加载驱动程序和插件。
这意味着您可以自由地将 Appium 驱动程序和插件添加为常规包依赖项或开发依赖项。例如,如果您的项目有一个包含以下内容的 package.json
然后,如果您在项目中运行 npx appium
,Appium 将检测到它是一个项目依赖项,并将加载也作为项目开发依赖项列出的 XCUITest 驱动程序。
此策略仅建议您已经在项目中使用 npm
。否则,建议您使用 Appium 的扩展 CLI,并在必要时调整 APPIUM_HOME
以更改存储扩展的位置。