跳到內容

工作階段設定

Appium 有一組擴充 API,讓您可以在特定工作階段中調整給定工作階段的參數。這些參數稱為「設定」,類似於 功能,但功能一旦工作階段開始後無法調整,而設定可以在工作階段過程中調整任意次數

設定概念有 3 個重點

  • 設定是可變的;可以在工作階段中使用設定 API 進行變更
  • 設定僅與設定的工作階段相關。通常會針對每個新工作階段重設,但根據驅動程式,有些設定可能會在工作階段之間持續存在
  • 設定僅調整 Appium 伺服器在測試自動化期間的行為。不會影響測試中的裝置或應用程式

設定範例為 UiAutomator2 驅動程式辨識的 ignoreUnimportantViews 設定。可以指示驅動程式忽略它認為不相關的檢視階層中的元素。將此設定變更為 true 可以讓測試執行得更快。但如果稍後在同一個工作階段中想要存取會受此設定忽略的元素,您隨時可以將它變更回 false

設定透過下列 API 端點實作

指令
方法/路徑
參數 說明 傳回
更新設定 POST /session/:id/appium/settings settings (Record<string, any>) 更新提供的設定值 null
取得設定 GET /session/:id/appium/settings 傳回目前的設定 settings (Record<string, any>)

settings 物件必須是一組金鑰和值,其中金鑰是設定名稱,而值是該設定的任何文件化有效值。

資訊

設定是驅動程式特定的,因此請參閱驅動程式的文件以取得支援設定的清單

透過功能初始化設定

如果您想以非預設狀態的設定啟動 Appium 會話,您可以透過包含適當值的 appium:settings[<name>] 形式的功能來執行此操作。因此,要從會話一開始就開啟上面提到的 ignoreUnimportantViews 設定,您會建構一組功能,其中包含下列 JSON 表示

{
    "appium:settings[ignoreUnimportantViews]": true
}

此外,從 Appium 2.1 開始,可以在單一 appium:settings 功能值中提供多個設定

{
    "appium:settings": {
        "ignoreUnimportantViews": true,
        "allowInvisibleElements": true
    }
}

當然,透過功能初始化設定並不會阻止您稍後透過設定 API 變更設定。若要深入了解如何在特定用戶端程式庫中使用設定 API,請參閱該用戶端的說明文件。