撰寫測試 (Python)

Appium Python Client 是 Python 中的官方 Appium 客戶端,可透過 pypi 在 Appium-Python-Client 套件名稱中取得。它繼承自 Selenium Python Binding,因此安裝 Appium Python Client 會包含 selenium binding。

pip install Appium-Python-Client

此範例使用 Python 內建的 unittest 模組,但您可以使用任何想要的 Python 測試架構。Appium Python 客戶端會自動新增 appium: 供應商前綴。您通常不需要擔心前綴。

test.py
import unittest
from appium import webdriver
from appium.options.android import UiAutomator2Options
from appium.webdriver.common.appiumby import AppiumBy

capabilities = dict(
    platformName='Android',
    automationName='uiautomator2',
    deviceName='Android',
    appPackage='com.android.settings',
    appActivity='.Settings',
    language='en',
    locale='US'
)

appium_server_url = 'https://#:4723'

class TestAppium(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Remote(appium_server_url, options=UiAutomator2Options().load_capabilities(capabilities))

    def tearDown(self) -> None:
        if self.driver:
            self.driver.quit()

    def test_find_battery(self) -> None:
        el = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@text="Battery"]')
        el.click()

if __name__ == '__main__':
    unittest.main()

注意

本指南的範圍不包括完整說明 Python 客戶端程式庫或此處發生的一切,因此我們現在將不詳細說明程式碼本身。

  • 您可能特別想深入了解 Appium 功能
  • Python Client GitHub 儲存庫中的功能測試程式碼應有助於找到更多範例。
  • 文件也有助於找到 Appium Python Client 中定義的方法。

注意

範例程式碼可從 GitHub Appium 儲存庫 取得。

基本上,此程式碼執行下列動作

  1. 定義一組「功能」(參數)傳送至 Appium 伺服器,讓 Appium 知道您想自動化哪種類型的項目。
  2. 在內建的 Android 設定應用程式上啟動 Appium 會話。
  3. 尋找「電池」清單項目並按一下它。
  4. 暫停一下純粹為了視覺效果。
  5. 結束 Appium 會話。

就是這樣!我們來試看看。在執行測試之前,請確定您在另一個終端機階段執行 Appium 伺服器,否則您會收到無法連線至伺服器的錯誤訊息。然後,您可以執行指令碼

python test.py

如果一切順利,您會看到「設定」應用程式開啟並導航至「電池」檢視,然後應用程式會再次關閉。

恭喜您,您已經開始 Appium 之旅!請繼續閱讀一些 後續步驟 以進行探索。