跳至内容

扩展 PR 的本地验证

有时可能需要验证远程驱动程序或插件 PR 是否适用于特定的本地环境,然后再将其合并或发布。本教程介绍如何实现这一点。

要求

  • 最新的 LTS 版本的 NodeJS。查看 Node.js 主页 获取下载链接。
  • 最新版本的 Appium 服务器。使用以下命令确保您安装了最新版本:npm uninstall appiumnpm 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 安装驱动程序或插件。检查组件自述文件以找到相应的命令。