AppiumプラグインからAppiumドライバーソリューションへの移行
axe DevTools Mobile for Appiumの最新変更に移行するための早期採用者向けガイド。
注: もしaxe DevTools Mobile for Appiumを始めたばかりの場合は、 セットアップガイドに進んでください。
業界をリードするAppiumのアクセシビリティテストソリューション向けに、2つの新しいAppiumドライバーを発表できることを嬉しく思います。これらのドライバーは実績のあるSDKによって強化されており、私たちのすべてのaxe DevTools Mobileコンポーネントで得られるのと同じ堅牢で高精度な結果を提供します。AppiumドライバーはDequeの利用可能なすべてのモバイルルールをカバーしており、セットアップに数分しかかかりません。
もしaxe DevTools Mobile Appiumプラグインのバージョン2.0.0+を実装した場合、このガイドに従ってドライバーソリューションへの切り替えを簡単に行ってください。
プラグインをアンインストールする
appium plugin uninstall axeDevToolsMobileドライバーをインストールする
必要なドライバーをコマンドラインを通してAppiumインスタンスにインストールします:
iOSテスト用のaxe XCUITestドライバー
appium driver install --source=npm @axe-devtools/axe-appium-xcuitest-driverいつでもアンインストールが必要な場合は、コマンドラインを通してアンインストールできます:
appium driver uninstall axexcuitestAndroidテスト用のaxe UIAutomator2ドライバー
appium driver install --source=npm @axe-devtools/axe-appium-uiautomator2-driverいつでもアンインストールが必要な場合は、コマンドラインを通してアンインストールできます:
appium driver uninstall axeuiautomator2Appiumを通してアクセシビリティテストを始める
通常通りにAppiumサーバーを開始します:
appiumテストを構成する
Appiumプラグインのセットアップコードの多くは、Appium axeドライバーでも再利用できます。
更新
-
ドライバーソリューションによる新機能として、
automationNameの能力を更新します。AxeXCUITestiOSテスト用、またはAxeUiAutomator2Androidテスト用です。 -
競合を避けるために、
driver.executeコードを更新する必要があります:await driver.execute('mobile: axeScan', axeSettings), axeSettingsオブジェクトは同じオブジェクトで、apiKeyおよびその他のカスタマイズを含んでいます。
完全な例
Pythonテストを使用したaxe UiAutomator2ドライバーの例
以下の例はPythonで書かれていますが、他のAppiumクライアントライブラリにもロジックを転用できます。
from appium import webdriver
from appium.options.android import UiAutomator2Options
from appium.webdriver.appium_connection import AppiumConnection
class DemoWithAxeDevToolsMobile:
def setup(self):
success = True
desired_caps = {}
# Add your required capabilities for testing:
desired_caps['platformName'] = 'Android'
desired_caps['appActivity'] = "com.app.package.MainActivity"
# Add axe DevTools Mobile required capabilities for testing:
desired_caps['appPackage'] = "com.app.package"
desired_caps['automationName'] = 'AxeUiAutomator2'
# Initialize Appium Server Connection
options = UiAutomator2Options().load_capabilities(desired_caps)
self.driver = webdriver.Remote('http://localhost:4723', options=options)
def runAccessibilityScan(self):
settings = {}
settings['apiKey'] = "<your-api-key-here>"
return self.driver.execute_script('mobile: axeScan', settings)
demo = DemoWithAxeDevToolsMobile()
demo.setup()
# <Navigate To Screen>
demo.runAccessibilityScan()
# <Navigate To Another Screen>
demo.runAccessibilityScan()Pythonテストを使用したaxe XCUITestドライバーの例
以下の例はPythonで書かれていますが、他のAppiumクライアントライブラリにもロジックを転用できます。
from appium import webdriver
from appium.options.ios import XCUITestOptions
from appium.webdriver.appium_connection import AppiumConnection
class DemoWithAxeDevToolsMobile:
def setup(self):
success = True
desired_caps = {}
# Add your required capabilities for testing:
desired_caps['platformName'] = 'iOS'
# Add axe DevTools Mobile required capabilities for testing:
desired_caps['bundleId'] = "com.bundle.identifier"
desired_caps['automationName'] = 'AxeXCUITest'
# Initialize Appium Server Connection
options = XCUITestOptions().load_capabilities(desired_caps)
self.driver = webdriver.Remote('http://localhost:4723', options=options)
def runAccessibilityScan(self):
settings = {}
settings['apiKey'] = "<your-api-key-here>"
return self.driver.execute_script('mobile: axeScan', settings)
demo = DemoWithAxeDevToolsMobile()
demo.setup()
# Navigate To Screen
demo.runAccessibilityScan()
# Navigate To Another Screen
demo.runAccessibilityScan()