Migrer le plugin Appium vers la solution de pilote Appium
Guide pour migrer les premiers adoptants vers les dernières modifications d'Axe DevTools Mobile pour Appium.
Remarque : Si vous venez de commencer avec Axe DevTools Mobile pour Appium, rendez-vous sur le guide d'installation.
Nous sommes ravis d'annoncer deux nouveaux pilotes Appium pour une solution de test d'accessibilité Appium de pointe. Nos pilotes sont alimentés par nos SDK éprouvés vous offrant les mêmes résultats robustes et hautement précis que tous nos composants Axe DevTools Mobile. Nos pilotes Appium couvrent toutes les règles mobiles disponibles de Deque et l'installation ne prend que quelques minutes.
Si vous avez implémenté la version 2.0.0+ du plugin Appium Axe DevTools Mobile, suivez ce guide pour passer facilement à la solution de pilote.
Désinstaller le plugin
appium plugin uninstall axeDevToolsMobileInstaller les pilotes
Installez les pilotes requis sur votre instance Appium via la ligne de commande :
Pilote Axe XCUITest pour les tests iOS
appium driver install --source=npm @axe-devtools/axe-appium-xcuitest-driverSi vous devez désinstaller à tout moment, vous pouvez désinstaller via la ligne de commande :
appium driver uninstall axexcuitestPilote Axe UIAutomator2 pour les tests Android
appium driver install --source=npm @axe-devtools/axe-appium-uiautomator2-driverSi vous devez désinstaller à tout moment, vous pouvez désinstaller via la ligne de commande :
appium driver uninstall axeuiautomator2Commencer les tests d'accessibilité avec Appium
Démarrez le serveur Appium comme d'habitude :
appiumConfigurer vos tests
Une grande partie du code de configuration pour le plugin Appium peut être réutilisée pour les pilotes Appium Axe.
Mises à jour
-
Nouveau avec la solution de pilote : mettre à jour votre capacité pour
automationNameà soitAxeXCUITestpour les tests iOS, soitAxeUiAutomator2pour les tests Android. -
Pour éviter les conflits, le code
driver.executedoit être mis à jour àawait driver.execute('mobile: axeScan', axeSettings), où l'objet axeSettings reste le même objet contenant leapiKeyet d'autres personnalisations.
Exemples complets
Exemple de pilote Axe UiAutomator2 avec des 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 des 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()