扩展 PR 的本地验证
有时可能需要验证远程驱动程序或插件 PR 是否适用于特定的本地环境,然后再将其合并或发布。本教程介绍如何实现这一点。
要求¶
- 最新的 LTS 版本的 NodeJS。查看 Node.js 主页 获取下载链接。
- 最新版本的 Appium 服务器。使用以下命令确保您安装了最新版本:
npm uninstall appium
和npm install -g appium
。 - Git 应该在本地可用。
安装¶
- 检出 PR 到本地。还有一个选项(虽然它不太灵活,因为您无法轻松地获取对该 PR 的任何更改),即简单地 下载 并解压缩本地源代码。如果您选择后一种选项,则不需要
git
工具。 - 导航到本地驱动程序或插件文件夹,并从该文件夹运行
npm i
。 - 确保您没有安装给定的驱动程序或插件。使用
appium driver uninstall <driver_name>
或appium plugin uninstall <plugin_name>
CLI 删除任何残留物。<driver_name>
/<plugin_name>
的值取决于 PR 为其准备的实际驱动程序或插件名称。如果您不确定需要使用哪个名称,请检查package.json
清单的内容,该清单必须始终位于获取的源代码的根文件夹下。您应该在那里查找"appium" -> "driverName"
条目值。 - 将当前文件夹更改为不是驱动程序/插件文件夹根目录或其子文件夹的文件夹。此外,确保您的当前工作文件夹不包含任何额外的
package.json
文件。如果有,只需导航到任何其他没有的文件夹。 - 运行以下命令将驱动程序/插件源代码链接到 Appium 服务器:
appium driver install --source=local <full_path_to_driver_folder_with_fetched_sources>
或appium plugin install --source=local <full_path_to_plugin_folder_with_fetched_sources>
。 - 如果 Appium 服务器正在运行,请停止它,然后重新启动它 (
appium server --use-drivers=<driver_name>
) 以检查已加载的驱动程序列表。如果链接成功,您必须在服务器日志中看到驱动程序名称及其父文件夹的路径。对于插件,需要在服务器启动时明确请求加载此插件:appium server --use-plugins=<plugin_name>
。
更新¶
在您测试了 PR 并且存在问题后,可能需要使用 Git 中的最新更改更新本地分支。为此,请执行以下步骤
- 导航到本地驱动程序/插件的父文件夹,并运行
git pull
。 - 如果 Appium 服务器正在运行,请停止它。
- 在本地驱动程序/插件的父文件夹中运行
npm i
以重新构建它,并在必要时更新任何依赖项。 - 与上面相应的 安装 步骤中一样,再次启动 Appium 服务器。
切换回稳定版本¶
PR 合并后,不再需要使用本地插件/驱动程序部署,并且有必要切换回由 NPM 管理的包。为此,请执行以下步骤
- 通过运行
appium driver uninstall <driver_name>
或appium plugin uninstall <driver_name>
从服务器取消链接已安装的驱动程序/插件。 - 删除本地源代码文件夹 (
rm -rf <full_path_to_plugin_or_driver_folder_with_fetched_sources>
)。 - 从 NPM 安装驱动程序或插件。检查组件自述文件以找到相应的命令。