跳至內容

擴充功能命令列使用

Appium 允許靈活安裝和管理各種擴充功能,例如驅動程式(提供 Appium 自動化特定平台的功能)和外掛程式(可以擴充或變更個別 Appium 指令運作的方式)。若要概念性地了解這些實體,請查看簡介

驅動程式和外掛程式的管理由 Appium 的 Extension CLI(命令列介面)處理。

注意事項

此參考文件使用佔位符來表示各種選項。在參考文件中看到這些佔位符時,請務必將其替換為正確類型的實際內容。

佔位符 意義
<ext-type> 「擴充功能類型」。應該是 driverplugin。所有 Extension CLI 指令都可用於驅動程式或外掛程式,因此您必須指定要使用的擴充功能類型
<ext-name> 「擴充功能名稱」。這是呼叫 appium <ext-type> list 時找到的擴充功能的簡稱。這與擴充功能的 NPM 套件名稱或一般來說的擴充功能「安裝規範」不同。
<install-spec> 「安裝規範」。這是指用於指出 Appium 應安裝哪個擴充功能的字串。
<install-source> 這是指 Appium 應使用的方法來安裝擴充功能。

指令

所有 Extension CLI 指令都以 appium <ext-type> 開頭,即 appium driverappium plugin

所有 Extension CLI 指令都可以接受一個選用的 --json 參數,它會將指令的結果傳回為機器可讀的 JSON 字串,而不是標準輸出,標準輸出會加上色彩並調整為適合人眼閱讀。

list

列出已安裝和可用的擴充功能。可用的擴充功能包括 Appium 團隊官方認可的擴充功能,但您不限於安裝此清單中顯示的擴充功能。

用法

appium <ext-type> list [--installed] [--updates] [--json]

必填參數

  • <ext-type>:必須是 driverplugin

選填參數

  • --installed:僅顯示已安裝的擴充功能,不顯示已安裝和可用的擴充功能
  • --updates:對於透過 NPM 安裝的擴充功能,如果有任何更新,請顯示訊息
  • --json:以 JSON 格式傳回結果

install

安裝擴充功能。如果成功,則回應擴充功能的簡稱,可以在擴充功能 CLI 的其他呼叫中使用。如果擴充功能是驅動程式,也請注意哪些平台可以用於驅動程式。

用法

appium <ext-type> install <install-spec> [--source=<install-source>] [--package=<package-name>] [--json]

必填參數

  • <ext-type>:必須是 driverplugin
  • <install-spec>:這是您要安裝的擴充功能的名稱、位置和/或版本。其可能的值取決於 <install-source>(請參閱下方)。

選填參數

  • --source:這會指示 Appium 在何處尋找您的擴充功能。請參閱下方可能的來源類型和對應安裝規格的表格。
  • --package:當 <install-source>gitgithub 時,需要 --package。它應該是擴充功能的 Node.js 套件名稱。沒有此資訊,Appium 將無法找到已安裝的套件。
  • --json:以 JSON 格式傳回結果
安裝來源類型 行為
這是未使用 --source 時的預設行為。在這種情況下,Appium 將查看 <install-spec>,並將其與執行 appium <ext-type> list 時可用的擴充功能名稱進行比對,亦即與官方認可的擴充功能名稱進行比對。如果找到,它將透過 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 驅動程式

    appium driver install xcuitest
    
  • 安裝版本 4.11.1 的 XCUITest 驅動程式

    appium driver install [email protected]
    
  • 從 NPM 安裝 @appium/fake-driverbeta 版本

    appium driver install --source=npm @appium/fake-driver@beta
    
  • 安裝當地開發的外掛程式

    appium plugin install --source=local /path/to/my/plugin
    

update

更新透過 NPM 安裝的一個或多個擴充功能。預設情況下,Appium 絕不會自動更新任何主要版本有修訂的擴充功能,以防止意外的重大變更。

用法

appium <ext-type> update <ext-name> [--unsafe] [--json]

必填參數

  • <ext-type>:必須是 driverplugin
  • <ext-name>:要更新的擴充功能名稱,或字串 installed(這會更新所有已安裝的擴充功能)

選填參數

  • --unsafe:指示 Appium 繼續進行,並更新已通過主要版本邊界的擴充功能
  • --json:以 JSON 格式傳回結果

uninstall

移除已安裝的擴充功能。

用法

appium <ext-type> uninstall <ext-name> [--json]

必填參數

  • <ext-type>:必須是 driverplugin
  • <ext-name>:要移除的擴充功能名稱

選填參數

  • --json:以 JSON 格式傳回結果

run

執行擴充功能套件中包含的腳本。擴充功能作者可以包含可執行腳本,以協助設定或執行其他任務。這些腳本由擴充功能作者命名(在此參考中稱為 <script-name>),通常會在擴充功能文件檔中記載。

用法

appium <ext-type> run <ext-name> [--json] <script-name> [script-args]

必填參數

  • <ext-type>:必須是 driverplugin
  • <ext-name>:您要執行其腳本的擴充功能名稱
  • <script-name>:擴充功能已發布的腳本名稱

選填參數

  • script-args:Appium 沒有解釋為屬於其自身一組參數的任何參數,都將傳遞給擴充功能腳本
  • --json:以 JSON 格式傳回結果

範例(執行 UiAutomator2 驅動程式附帶的 reset 腳本)

appium driver run uiautomator2 reset

doctor

如果給定的擴充功能有,則為其執行 doctor 檢查。擴充功能作者可以包含可執行腳本,以協助驅動程式或外掛程式的前提條件驗證。這些腳本必須是有效的 Node.js 來源,必須列在套件清單中,並且必須匯出符合特定需求的類別實例。請參閱 建立 Doctor 檢查 教學課程,以進一步瞭解這些需求。

用法

appium <ext-type> doctor <ext-name>

範例(為 UiAutomator2 驅動程式執行 doctor 檢查)

appium driver doctor uiautomator2