撰寫測試 (Python)
Appium Python Client 是 Python 中的官方 Appium 客戶端,可透過 pypi 在 Appium-Python-Client 套件名稱中取得。它繼承自 Selenium Python Binding,因此安裝 Appium Python Client 會包含 selenium binding。
此範例使用 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 客戶端程式庫或此處發生的一切,因此我們現在將不詳細說明程式碼本身。
注意
範例程式碼可從 GitHub Appium 儲存庫 取得。
基本上,此程式碼執行下列動作
- 定義一組「功能」(參數)傳送至 Appium 伺服器,讓 Appium 知道您想自動化哪種類型的項目。
- 在內建的 Android 設定應用程式上啟動 Appium 會話。
- 尋找「電池」清單項目並按一下它。
- 暫停一下純粹為了視覺效果。
- 結束 Appium 會話。
就是這樣!我們來試看看。在執行測試之前,請確定您在另一個終端機階段執行 Appium 伺服器,否則您會收到無法連線至伺服器的錯誤訊息。然後,您可以執行指令碼
如果一切順利,您會看到「設定」應用程式開啟並導航至「電池」檢視,然後應用程式會再次關閉。
恭喜您,您已經開始 Appium 之旅!請繼續閱讀一些 後續步驟 以進行探索。