Migrer le plugin Appium vers la solution de pilote Appium
Guide pour migrer les premiers utilisateurs vers les dernières modifications d'axe DevTools Mobile pour Appium.
Remarque : si vous débutez avec axe DevTools Mobile pour Appium, consultez le guide d'installation.
Nous sommes ravis d'annoncer deux nouveaux pilotes Appium pour une solution de test d'accessibilité Appium à la pointe du secteur. Nos pilotes sont alimentés par nos SDK éprouvés, vous offrant les mêmes résultats robustes et très précis que ceux que vous obtenez avec tous nos composants axe DevTools Mobile. Nos pilotes Appium couvrent toutes les règles de validation mobiles disponibles de Deque et la configuration ne prend que quelques minutes.
Si vous avez implémenté la version 2.0.0+ du plugin axe DevTools Mobile Appium, suivez ce guide pour passer facilement à la solution du pilote.
Désinstaller le plugin
appium plugin uninstall axeDevToolsMobile
Installer les Drivers
Installez les pilotes requis sur votre instance Appium via la ligne de commande :
Driver axe XCUITest pour les tests iOS
appium driver install --source=npm @axe-devtools/axe-appium-xcuitest-driver
Si vous devez désinstaller à tout moment, vous pouvez le faire via la ligne de commande :
appium driver uninstall axexcuitest
Pilote axe UIAutomator2 pour les tests Android
appium driver install --source=npm @axe-devtools/axe-appium-uiautomator2-driver
Si vous devez désinstaller à tout moment, vous pouvez le faire via la ligne de commande :
appium driver uninstall axeuiautomator2
Démarrez les tests d'accessibilité via Appium
Démarrez le serveur Appium normalement :
appium
Configurez vos tests
Une grande partie du code de configuration du plugin Appium peut être réutilisé pour les pilotes axe Appium.
Mises à jour
-
La nouveauté de la solution du pilote est la mise à jour de votre capacité à effectuer des tests iOS ou Android.
automationName
AxeXCUITest
AxeUiAutomator2
-
Pour éviter les conflits, le
driver.execute
code doit être mis à jour versawait driver.execute('mobile: axeScan', axeSettings)
, où l'objet axeSettings est toujours le même objet contenant lesapiKey
et d'autres personnalisations.
Exemples complets
Exemple de pilote axe UiAutomator2 avec tests Python
Bien que l'exemple ci-dessous soit écrit en Python, la logique est transférable à d'autres bibliothèques clientes 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()
Exemple de pilote axe XCUITest avec tests Python
Bien que l'exemple ci-dessous soit écrit en Python, la logique est transférable à d'autres bibliothèques clientes 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()