Winium – Un guide étape par étape
An INFJ personality wielding brevity in speech and writing.
Dans la tendance technologique actuelle, chaque application logicielle que nous utilisons est disponible sous forme d’application Web ou d’application mobile. Mais de nombreuses applications de bureau sont encore utilisées dans les grandes entreprises. Pour tester ces applications basées sur Windows, nous nous appuyons encore largement sur des outils commerciaux tels que TestComplete, HP Unified Functional Tester, Coded UI, etc. Avec la montée en puissance des outils de test open source, nous avons vu apparaître des outils comme AutoIT, Sikuli.
Dans cet article, nous aimerions parler d’un outil de test open source moins connu pour l’automatisation de Windows – Winium
Winium est un framework d’automatisation pour la plate-forme Windows. C’est un outil gratuit et open source basé sur Selenium.
Selenium, l’outil open source largement utilisé pour l’application Web, prend en charge Applications mobiles utilisant Appium. Auparavant, pour l’automatisation des applications Windows, nous avions utilisé des outils externes comme Sikuli, AutoIT, etc. Maintenant, nous avons Winium pour aller avec le sac Selenium.
Plateformes prises en charge par Winium :
- Applications de bureau Windows (WPF, WinForms),
- Windows Store ou applications universelles pour Windows Phone
- Applications Windows Phone Silverlight
Langues prises en charge par Winium :
- Java
- Objectif-C
- JavaScript avec Node.js
- PHP
- Python
- Rubis
- C#
- Clojure ou Perl avec l’API Selenium WebDriver
Cadre de test Winium :
- JUnit
- TestNG
- PyUnit
- NUnit
Travailler avec Winium est assez simple et facile si vous avez déjà de l’expérience avec Selenium. Dans Selenium, pour l’application Web, nous utilisons FireBug ou FirePath pour identifier les localisateurs d’éléments. De même, dans Winium, nous pouvons utiliser UISpy.exe ou Inspect.exe (disponible par défaut dans Windows) pour identifier les localisateurs d’éléments dans l’application Windows.
Prérequis pour travailler avec Winium :
- Microsoft .NET Framework
- Télécharger la dernière version d’Eclipse
- Créer un projet Maven
- Télécharger UISpy
Étapes à suivre :
Étape 1 : ajoutez la dépendance ci-dessous dans pom.xml
com.github.2gis.winium
winium-webdriver
0.1.0-1
Vous pouvez également télécharger la dépendance à partir du lien ci-dessous :
https://mvnrepository.com/artifact/com .github.2gis.winium/winium-webdriver
Étape 2 : Téléchargez Winium.Desktop.Driver.exe.
https://github.com/2gis/Winium.Desktop/releases
Étape 3 : Une fois téléchargé, lancez le pilote, il s’ouvrira par défaut avec le port 9999 qui fait office de serveur.
En interne, ce serveur communiquera via le protocole sans fil JSON
Étape 4 : Ajoutez une dépendance TestNG pour exécuter une application
org.testng
tester
6.14.3
tester
Étape 5 : Créez un exemple de projet Java et une classe, puis utilisez le code ci-dessous pour automatiser la calculatrice
paquet com.winium.demo ;
importer java.net.MalformedURLException ;
importer java.net.URL ;
importer org.openqa.selenium.By ;
importer org.openqa.selenium.winium.DesktopOptions ;
importer org.openqa.selenium.winium.WiniumDriver ;
Calculatrice de classe publique
public static void main(String[] args) lance MalformedURLException, InterruptedException {
option DesktopOptions = new DesktopOptions();
option.setApplicationPath(“C:\Windows\System32\calc.exe”);
Pilote WiniumDriver = new WiniumDriver(nouvelle URL(“https://localhost:9999”), option);
Thread.sleep(5000);
driver.findElement(By.name(“One”)).click();
driver.findElement(By.name(“Plus”)).click();
driver.findElement(By.name(“Two”)).click();
driver.findElement(By.name(“Equals”)).click();
Sortie de chaîne = diver.findElement(By.id(“CalculatorResults”)).getAttribute(“Name”);
System.out.println(“Le résultat après addition est : “+sortie);
driver.quit();
}}
Winium semble être assez prometteur pour l’automatisation des applications Windows. Même s’il est à un stade naissant si le test d’application prend en charge différentes plates-formes like web, mobile (ios, android, windows), windows desktop puis Selenium + Appium + Winium seront une combinaison gagnante.
Qu’en penses-tu?