1. Objet de test
Appium est un outil open source permettant d'automatiser les applications Web natives, mobiles et hybrides sur les appareils iOS, Android et les plates-formes de bureau Windows.
Les « applications natives » font référence aux applications écrites avec le SDK iOS, Android ou Windows.
« Application Web mobile » est une application accessible avec un navigateur mobile (Appium prend en charge Safari, Chrome sur iOS et le navigateur intégré sur Android).
Les "applications hybrides" sont livrées avec un wrapper autour de "webview" - un contrôle natif utilisé pour interagir avec le contenu Web.
Important : Appium est multiplateforme : il vous permet d'utiliser la même API pour écrire des tests pour plusieurs plateformes, en réutilisant le code entre les suites de tests iOS, Android et Windows.
2. Plateformes et langages pris en charge
Quantity Appium est multiplateforme et prend en charge les systèmes OSX, Windows et Linux. Il permet aux testeurs d'utiliser le même ensemble d'API pour écrire des scripts de test automatisés sur différentes plates-formes (iOS, Android), ce qui augmente considérablement la réutilisation du code entre les suites de tests iOS et Android
Quantityappium prend en charge plusieurs langages et utilise C/ Mode S Design, tant que le client peut envoyer des requêtes http au serveur
3 Principe de fonctionnement
Principe de fonctionnement d'APPIUM côté IOS
Jetons un coup d'œil au principe de fonctionnement de l'ensemble du processus d'APPIUM côté IOS. une image :
Principe de fonctionnement d'APPIUM côté Android
Jetons un coup d'œil à l'ensemble du principe de fonctionnement du processus d'APPIUM côté Android à travers une image :
Explication :
La flèche entière pointe vers une commande terminée loop
le script webdriver nécessite des tests automatisés Le personnel écrit lui-même les scripts de test correspondants
Il est recommandé à tout le monde de se renseigner sur le protocole filaire JSON, les instruments, UiAutomator
4, les outils d'installation
weight les langages de test, tels que python
weightappium client
weight serveur Appium
Quantity Pour les appareils mobiles, si vous utilisez une machine virtuelle, vous devez l'installer
5. Configuration de l'environnement
(1) Installez le SDK Android
1. fournit une bibliothèque d'API Android et des outils de construction, de test et de débogage d'applications, peut être considéré comme un logiciel pour développer et exécuter des applications Android
2 Fournir de petits outils, tels que adb, aapt, uiautomatorview
3. équipement, cette étape ne doit pas être ignorée Pass
(2) Installer appium Server
1 Site officiel d'appium : https://pium.app/downloads/
2. Téléchargez le package d'installation d'appium (AppiumForWindows.zip, appium. .dmg)
3. Installez et configurez les variables d'environnement Appium
(3) Installez le client python
1. Installez d'abord un langage de programmation, tel que le langage Python
2. Installez le client Appium pour Python. utilisez pip pour installer : pip install Appium-Python-Client
6. Applications et opérations
①Appelez le processus appium
1 Configurez les paramètres de l'appareil mobile et indiquez au serveur quel appareil mobile je souhaite appeler
2. Saisissez les commandes de l'application sur le téléphone mobile et spécifiez les commandes correspondantes à utiliser
3. Utilisez les commandes capturées, telles que cliquer, remplir les paramètres, etc.
La première étape consiste à configurer les paramètres de l'appareil du téléphone mobile
.La configuration de base des capacités souhaitées d'Appium est la suivante :
#Environnement Android
import unittest
from appium import webdriver
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps[ 'platformVersion'] = '4.2'
desired_caps['deviceName'] = 'Émulateur Android'
desired_caps['app'] = PATH('../../../apps/selendroid-test-app. apk')
desired_caps['appPackage'] = package
desired_caps['appActivity'] = activité
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', wanted_caps)
Explication des paramètres communs :
gird DeviceName : Spécifiez le périphérique de démarrage, tel que l'émulateur Android, le simulateur iPhone, etc.
weight automationName : Spécifiez le moteur d'automatisation, la valeur par défaut est appium
weight platformName : Spécifiez la plate-forme mobile, Android ou iOS
Quantity platformVersion : Spécifiez la version système de la plateforme. Par exemple, spécifiez la version du système Android comme 4.2
Quantity appActivity : l'activité de l'application à tester. Notez que pour les applications natives, ajoutez un "." avant l'activité
weight appPackage : les informations sur le nom du package (package). de l'application à tester
Deuxième étape, récupérez les contrôles de l'application mobile
Affichez les paramètres de contrôle de l'application mobile via l'outil intégré du SDK Android uiautomatorviewer.bat (l'outil se trouve dans le dossier /tools/bin / répertoire)
1. Positionnement de l'ID
Comment utiliser :
driver.find_element_by_id('com.android.contacts:id/two')
2. :
el = self.driver.find_element_by_name('missed call') el = self.driver.find_elements_by_name('missed call')
3. Positionnement du nom de classe
Utilisation :
els = self driver.find_element_by_class_name. ('android.widget.ImageButton') els = self.driver.find_elements_by_class_name('android.widget.ImageButton')
4. Positionnement de l'ID d'accessibilité
Utilisation :
el = self.driver .find_element_by_accessibility_id('三') el = self.driver.find_elements_by_accessibility_id('三')
5. positionnement de l'uiautomator android
Méthode d'utilisation :
el=self.driver.find_element_by_android_uiautomator('new UiSelector(). description(symbole étoile ")')
els=self.driver.find_elements_by_android_uiautomator('new UiSelector().clickable(false)')
Étape 3, utilisez le contrôle
1.scroll
scroll(self, origin_el, destination_el) :
Faites défiler de l'élément origin_el à l'élément destination_el
Exemple : driver.scroll(el1, el2)
Utilisation : driver.scroll(el1,el2)
2.tap
tap(self, positions, durée=Aucun) :
Simulez des clics de doigt (jusqu'à cinq doigts), vous pouvez définir le temps de maintien (millisecondes)
Exemple : driver.tap([(100, 20), (100, 60), (100, 100)], 500)
Utilisation : driver.tap([(x,y),(x1,y1)],500)
3. swipe
swipe(self, start_x, start_y, end_x, end_y, durée=Aucun) :
Glissez du point A au point B, le temps de glissement est de quelques millisecondes
Exemple : driver.swipe(100, 100, 100, 400)
Utilisation : driver.swipe(x1,y1,x2,y2,500)
4. keyevent
keyevent(self, keycode, metastate=None) :
Envoyer le code clé (Android uniquement), le code clé peut être trouvé sur le site Web
Utilisation : driver.keyevent('4' )
5. press_keycode
press_keycode(self, keycode, metastate=None) :
Envoyer le code clé (Android uniquement), le code clé peut être trouvé sur le site Web
Utilisation : driver.press_ keycode('4')
6. text
text(self):
Renvoyer la valeur texte de l'élément
Utilisation: element.text
7.click
click(self):
Cliquez sur l'élément
Utilisation: element.click( )
8.get_attribute
get_attribute(self, name):
Obtenir la valeur associée d'un élément
Utilisation : element.get_attribute("name")
9.size
size(self):
Obtenez la taille de l'élément (hauteur et largeur)
Utilisation driver.element.size
10 page_source
page_source(self):
Obtenez la source de la page actuelle
Utilisation : driver.page_source
11. .quit
quit (self):
Quittez le script et fermez chaque connexion de fenêtre associée
Exemple : driver.quit()
Jugement du résultat de l'exécution
Une fois le cas d'utilisation exécuté et vous devez juger s'il a réussi , vous devez comparer les résultats attendus. Pour la comparaison, vous pouvez généralement choisir d'affirmer si un certain indicateur apparaît ou si la valeur textuelle d'un certain élément est égale à ce qui est attendu. Vous pouvez également prendre une capture d'écran et la comparer avec. une image de référence, etc.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!