LambdaTest : une plate-forme de test basée sur le cloud et son intégration avec le framework d’automatisation TestNG

Introduction
Dans le rythme effréné d’aujourd’hui développement de logiciels environnement, il est crucial de garantir la robustesse et la fonctionnalité des applications sur plusieurs navigateurs et plates-formes. Les tests automatisés sont devenus la pierre angulaire du processus de développement, offrant aux équipes capacité à tester leurs applications rapidement et efficacement. Parmi les différents outils disponibles, LambdaTest et TestNG se distinguent comme des combinaisons puissantes pour réaliser des tests multi-navigateurs à grande échelle.
LambdaTest est une plate-forme de test basée sur le cloud qui permet aux développeurs et aux testeurs d’effectuer des tests multi-navigateurs sur une large gamme de navigateurs, de systèmes d’exploitation et d’appareils. D’autre part, TestNG est un framework de tests d’automatisation populaire inspiré de JUnit et NUnit qui fournit des fonctionnalités telles que les annotations, l’exécution parallèle et les tests basés sur les données. Dans ce blog, vous découvrirez comment intégrer LambdaTest au framework TestNG, vous offrant ainsi la possibilité d’exécuter vos tests sur une infrastructure basée sur le cloud et d’atteindre des niveaux élevés de couverture de tests.
Lire aussi : Envoyer des alarmes CloudWatch à Slack via AWS Lambda
Qu’est-ce que LambdaTest ?
Il s’agit d’une étape de test multi-navigateurs basée sur le cloud qui permet aux codeurs et aux testeurs d’exécuter leurs tests manuels et la robotisation des scripts sur une infrastructure évolutive et plus sécurisée. Il est très difficile de tester vos applications Android et iOS sur différentes marques, versions et plateformes mobiles. De même, pour les tests des navigateurs Web, Lambda fournit différents systèmes d’exploitation et navigateurs Web, ce qui est très utile en termes d’économies de temps et d’argent.

Avantages des tests cloud
Un large éventail de fonctionnalités est fourni par Lambda, telles que :
- Tests en temps réel : Grâce à LambdaTest, vous pouvez tester vos applications sur de vrais navigateurs et appareils pour garantir la compatibilité entre différentes plates-formes.
- Tests automatisés du navigateur : Intégrez LambdaTest à vos frameworks d’automatisation de tests existants tels que Selenium, Cypress ou Playwright pour exécuter des tests en parallèle sur plusieurs navigateurs.
- Tests de régression visuelle : Il capture également des captures d’écran et peut les comparer avec des images de motifs pour distinguer les contrastes visuels.
- Tests réactifs : Testez la réactivité de vos applications Web sur différentes tailles d’écran et résolutions.
- Tests de géolocalisation : Testez vos applications depuis différents endroits dans le monde pour vous assurer qu’elles fonctionnent comme prévu dans différentes zones géographiques.
LambdaTest prend en charge une large gamme de navigateurs, de systèmes d’exploitation et d’appareils, ce qui en fait un choix idéal pour les équipes qui doivent garantir que leurs applications fonctionnent de manière transparente dans différents environnements.
Qu’est-ce que TestNG ?
TestNG est un framework de test open source inspiré de JUnit et NUnit, conçu pour couvrir un plus large éventail de catégories de tests, notamment les tests unitaires, les tests fonctionnels, les tests de bout en bout, etc. Il offre plusieurs fonctionnalités puissantes qui en font un choix privilégié pour l’automatisation des tests :
- Annotations : TestNG propose une variété d’annotations, telles que @Test, @BeforeMethod, @AfterMethod, @BeforeClass, @AfterClass, etc., vous permettant de structurer efficacement vos cas de test.
- Exécution parallèle : Vous pouvez exécuter nos cas de test en parallèle car TestNg prend en charge l’exécution parallèle, ce qui accélère l’exécution des tests et réduit le temps d’exécution des scripts de test globaux.
- Tests basés sur les données : TestNG vous permet de transmettre différents ensembles de données à vos stratégies de test en utilisant l’annotation @DataProvider, ce qui simplifie l’exécution de tests basés sur les données.
- Regroupement de tests : TestNG vous permet de regrouper vos cas de test en différentes catégories et de les exécuter de manière sélective en fonction des noms de groupe.
- Configuration de test flexible : La configuration basée sur XML de TestNG vous permet de définir des suites de tests, d’inclure ou d’exclure des méthodes de test et de gérer les dépendances entre les cas de test.
Grâce à son ensemble de fonctionnalités robustes, TestNG est un choix populaire pour les ingénieurs en automatisation qui ont besoin d’un cadre flexible et puissant pour leurs besoins de tests.
Pourquoi intégrer LambdaTest à TestNG ?

Fonctionnalités Lambda
L’intégration de LambdaTest à TestNG offre plusieurs avantages qui améliorent vos capacités de test :
- Tests multi-navigateurs : En intégrant LambdaTest à TestNG, vous pouvez exécuter vos cas de test TestNG sur une large gamme de navigateurs et de plates-formes disponibles sur l’infrastructure cloud de LambdaTest. Cela garantit que l’application est testée dans plusieurs environnements, offrant une meilleure couverture et identifiant les problèmes dès le début du cycle de développement, ce qui peut réduire les coûts et les délais.
- Exécution parallèle : Les capacités d’exécution parallèle de TestNG combinées à l’infrastructure évolutive de LambdaTest vous permettent d’exécuter vos tests simultanément sur plusieurs combinaisons de navigateurs et de plates-formes, ce qui réduit considérablement le temps d’exécution de la suite de tests lors d’une exécution en parallèle sur Lambda.
- Intégration transparente : LambdaTest offre une intégration facile avec TestNG, vous permettant d’exploiter les fonctionnalités existantes des deux outils sans configuration étendue. Vous pouvez continuer à utiliser vos cas de test TestNG existants et les orienter simplement vers l’infrastructure cloud de LambdaTest.
- Évolutivité : L’infrastructure basée sur le cloud de LambdaTest vous permet d’adapter vos efforts de test selon vos besoins. Que vous ayez besoin d’exécuter quelques tests ou des milliers de tests, LambdaTest fournit les ressources nécessaires pour répondre à vos besoins en matière de tests.
- Rapports complets : Il fournit des rapports de test détaillés comprenant des journaux, des captures d’écran et des enregistrements vidéo des sessions de test lors de l’exécution sur cette plate-forme cloud. Ces rapports vous aident à identifier rapidement les problèmes et fournissent des informations sur les performances et le comportement de votre application dans différents environnements.
Configuration de l’intégration de LambdaTest et TestNG
Pour intégrer LambdaTest à TestNG, vous devez suivre quelques étapes simples. Suivez les étapes ci-dessous pour intégrer LambaTest au Framework.
Étape 1 : Créer un compte LambdaTest
Si vous n’avez pas de compte sur Lambda, créez d’abord le compte LambdaTest. Lorsque le compte est créé, vous pouvez accéder au tableau de bord LambdaTest, où vous pourrez trouver le nom d’utilisateur LambdaTest et la clé d’accès sous Paramètres du compte dans l’onglet Mot de passe et sécurité. Et vous pouvez également acheter la licence selon vos besoins pour un accès complet.
Étape 2 : Configurez votre projet TestNG
Vous pouvez ignorer cette étape si votre framework TestNG est déjà configuré. Sinon, vous pouvez créer un nouveau projet TestNG en utilisant votre IDE préféré, tel qu’IntelliJ IDEA ou Eclipse. Pour configurer votre projet TestNG pour l’intégration LambdaTest, vous devrez ajouter les dépendances nécessaires à votre projet dans le fichier pom.xml.
Étape 3 : Configurer la configuration LambdaTest
Ensuite, vous devez configurer votre projet TestNG pour exécuter des tests sur l’infrastructure cloud de LambdaTest. Pour ce faire, vous devrez configurer les fonctionnalités souhaitées et fournir vos informations d’identification LambdaTest.
Créez un fichier config.properties dans votre projet et ajoutez les détails de configuration suivants fournis ci-dessous :
lambdaUserName = VOTRE_LAMBDATEST_USERNAME
lambdaAccessKey = VOTRE_LAMBDATEST_ACCESS_KEY
Remplacez YOUR_LAMBDATEST_USERNAME et YOUR_LAMBDATEST_ACCESS_KEY par vos informations d’identification LambdaTest réelles, que vous pouvez trouver sur votre tableau de bord LambdaTest.

Nom d’utilisateur et clé d’accès Lambda
Remplacez YOUR_LAMBDATEST_USERNAME et YOUR_LAMBDATEST_ACCESS_KEY par vos informations d’identification LambdaTest réelles, que vous pouvez trouver sur votre tableau de bord LambdaTest, comme indiqué dans l’image ci-dessus.
Étape 4 : Écrivez vos cas de test TestNG
Maintenant que votre projet est configuré, vous pouvez commencer à écrire vos cas de test TestNG. Prenons un exemple utilisant TestNG dans lequel un utilisateur navigue vers un site Web et vérifie le titre de la page comme suit :
import org.openqa.selenium.WebDriver; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.Assert; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import java.net.URL; import java.util.concurrent.TimeUnit; public class LambdaTestExample { private WebDriver webdriver; private String baseURL = "https://www.url.com"; @BeforeMethod public void setUp() throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("browserName", "chrome"); capabilities.setCapability("version", "latest"); capabilities.setCapability("platform", "Windows 10"); capabilities.setCapability("build", "TestNG Lambda Integration"); capabilities.setCapability("name", "Test"); String username = System.getProperty("username"); String accessKey = System.getProperty("accessKey"); webdriver = new RemoteWebDriver (new URL("https://" + lambdaUserName + ":" + lambdaAccessKey + "@hub.lambdatest.com/wd/hub"), capabilities); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); } @Test public void verifyPageTitle(){ driver.get(baseURL); String title = driver.getTitle(); Assert.assertEquals(title, "Your Domain"); } @AfterMethod public void tearDown(){ if (driver != null) { driver.quit(); } } }
Dans cet exemple, l’objet DesiredCapabilities est utilisé pour spécifier le navigateur, la version et la plateforme sur lesquels le test doit s’exécuter. Le scénario de test accède à l’exemple de site Web et vérifie que le titre de la page correspond à la valeur attendue.
Étape 5 : Exécutez vos tests
Une fois que vous avez rédigé vos cas de test, vous pouvez les exécuter sur l’infrastructure cloud de LambdaTest. Vous pouvez exécuter vos tests en utilisant votre méthode préférée, comme l’exécution du fichier XML TestNG ou l’utilisation des commandes Maven.
Vous trouverez ci-dessous un exemple d’exécution de la suite d’automatisation à l’aide de la commande maven :
test propre mvn -Dsurefire.suiteXmlFiles=testng.xml
Pendant l’exécution, TestNG enverra les cas de test à l’infrastructure cloud de LambdaTest, où ils seront exécutés sur les navigateurs et plates-formes spécifiés. Vous pouvez surveiller l’exécution des tests en temps réel sur votre tableau de bord LambdaTest, où vous pouvez afficher les journaux, les captures d’écran et les enregistrements vidéo de vos sessions de test.
Conclusion
Pour tirer le meilleur parti de votre intégration LambdaTest et TestNG, vous pouvez profiter de la fonctionnalité d’exécution parallèle de TestNG pour exécuter vos tests simultanément sur plusieurs combinaisons de navigateurs et de plates-formes. Cela vous aidera à réduire le temps global d’exécution des tests et à obtenir un retour d’information plus rapide.
Par conséquent, les tests sur le cloud offrent une large gamme d’appareils, de plates-formes pour les deux Android et iOS et fournit également tous les navigateurs disponibles avec différents systèmes d’exploitation et versions pour tests manuels et automatisésce qui est plus rentable et permet de gagner du temps avec des livrables de qualité.
Source link