Migrare il Plugin Appium alla soluzione driver Appium
Guida per la migrazione degli early adopter alle ultime modifiche di axe DevTools Mobile per Appium.
Nota: se hai appena iniziato a usare axe DevTools Mobile per Appium, consulta la guida all'installazione.
Siamo lieti di annunciare due nuovi driver per una soluzione di test di accessibilità leader del settore. I nostri driver sono basati sui nostri collaudati SDK, che ti garantiscono gli stessi risultati affidabili e altamente accurati che ottieni con tutti i nostri componenti axe DevTools Mobile. I nostri driver Appium coprono tutte le regole per mobile disponibili di Deque e la configurazione richiede solo pochi minuti.
Se hai implementato la versione 2.0.0+ del plugin axe DevTools Mobile Appium, segui questa guida per passare facilmente alla soluzione driver.
Disinstalla il plugin
appium plugin uninstall axeDevToolsMobile
Installa i driver
Installa i driver richiesti sulla tua istanza Appium tramite la riga di comando:
Driver axe XCUITest per test iOS
appium driver install --source=npm @axe-devtools/axe-appium-xcuitest-driver
Se in qualsiasi momento hai bisogno di disinstallare, puoi farlo tramite la riga di comando:
appium driver uninstall axexcuitest
Driver axe UIAutomator2 per test Android
appium driver install --source=npm @axe-devtools/axe-appium-uiautomator2-driver
Se in qualsiasi momento hai bisogno di disinstallare, puoi farlo tramite la riga di comando:
appium driver uninstall axeuiautomator2
Avvia i test di accessibilità tramite Appium
Avviare il server Appium normalmente:
appium
Configura i tuoi test
Gran parte del codice di installazione del plugin Appium può essere riutilizzato per i driver axe di Appium.
Aggiornamenti
-
La novità della soluzione driver è l'aggiornamento della capacità di
automationName
per i test iOS oAxeXCUITest
per i test Android.AxeUiAutomator2
-
Per evitare conflitti, il
driver.execute
codice dovrebbe essere aggiornato aawait driver.execute('mobile: axeScan', axeSettings)
, dove l'oggetto axeSettings è ancora lo stesso oggetto contenenteapiKey
e altre personalizzazioni.
Esempi completi
Esempio di driver axe UiAutomator2 con test Python
Sebbene l'esempio seguente sia scritto in Python, la logica è trasferibile ad altre librerie client 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()
Esempio di axe XCUITest Driver con test Python
Sebbene l'esempio seguente sia scritto in Python, la logica è trasferibile ad altre librerie client 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()