管理驅動程式和外掛程式
若要使用 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
套件內。 - 如果是,它將檢查專案的
package.json
中appium
是否為依賴項(開發、生產或同儕)。 - 如果是,除非您在環境中指定
APPIUM_HOME
,否則 Appium 將忽略載入在該package.json
檔案中定義的驅動程式和外掛程式。
這表示您可以自由地將 Appium 驅動程式和外掛程式新增為常規套件依賴項或開發依賴項。例如,如果您的專案有一個 package.json
,其中包含以下內容
然後,如果您在專案中執行 npx appium
,Appium 會偵測到它是專案的依賴項,並載入 XCUITest 驅動程式,它也列為專案的開發依賴項。
只有當您已經為專案使用 npm
時,才建議使用此策略。否則,建議您使用 Appium 的 Extension CLI,並在必要時調整 APPIUM_HOME
以變更儲存的擴充功能的位置。