テストの作成(Python)
Appium Python Clientは、Pythonで記述された公式のAppiumクライアントであり、Appium-Python-Clientというパッケージ名でpypi経由で入手できます。これは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 = 'http://localhost: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の旅を始めました!次のステップに進んで探索してください。