Tableau Testing :
Comment aller plus loin que Selenium ?

selenium-wiiisdom-ops-feature-img

Selenium Tableau Testing

Selenium est un projet open-source qui regroupe une gamme d’outils et de bibliothèques qui permettent et soutiennent l’automatisation des tests de navigateurs Web. Il s’agit d’une suite de trois produits, Selenium IDE, Selenium Grid et Selenium WebDriver. 

Elle fournit des extensions pour émuler l’interaction de l’utilisateur avec les navigateurs, un serveur de distribution pour mettre à l’échelle l’allocation des navigateurs, et l’infrastructure pour la spécification WebDriver du W3C qui vous permet d’écrire du code interchangeable pour tous les principaux navigateurs Web. Dans cet article, nous allons nous concentrer sur son intérêt lors de la mise en place de tests pour Tableau.

 

Qu’est-ce que Selenium IDE?

Dans un contexte de Tableau Testing avec Selenium, la plupart des gens commencent par utiliser Selenium IDE. Comme son nom l’indique, IDE (Integrated Development Environment) est l’outil que vous utilisez pour développer vos cas de test Selenium en exploitant une extension Chrome, Firefox et Edge pour enregistrer les interactions de l’utilisateur avec le navigateur. 

Après le démarrage de l’extension du navigateur Selenium IDE et la saisie de l’URL de test, une nouvelle fenêtre URL s’ouvre. Les interactions de l’utilisateur sont enregistrées pour une relecture ultérieure.

selenium-ide-java-code-geeks

Après l’enregistrement, les commandes de test, les cibles, les valeurs et les commentaires peuvent être modifiés ou rejoués tels quels. Un ensemble étendu de commandes est disponible pour créer des scénarios de test plus complexes :

selenium-ide-test-scenarios

Cette liste est moins complexe lorsque vous réalisez que Verify vérifie et enregistre automatiquement une erreur, et que Assert vérifie et arrête le test après chaque erreur. Les tests qui en résultent produisent des logs textuels indiquant s’il y a des problèmes :

selenium-ide-log

Battle 1: Selenium IDE vs. Wiiisdom Ops 

Selenium IDE produit des tests basés sur l’apparence de la page Web et l’interaction enregistrée par l’utilisateur, ce qui est idéal pour tester les pages Web basées sur une interface graphique. La possibilité d’intégrer une logique Tableau de plus haut niveau, comme l’arborescence d’un répertoire de projet et les valeurs de données, est limitée. Chaque étape de la sélection des éléments de Tableau doit être reproduite étape par étape.

Par rapport à Selenium IDE, la navigation dans le menu Tableau de Wiiisdom Ops et la sélection des éléments permettent d’économiser du temps et des efforts. L’approche de régression/de croisement d’environnements de Wiiisdom Ops, qui consiste à prendre un instantané de l’ensemble du classeur, y compris les feuilles de travail et les métadonnées, fournit un processus beaucoup moins manuel avec une confiance beaucoup plus élevée dans les résultats produits.

selenium-wiiisdom-ops-regression-test

Le test de régression Tableau comprend onze tests facultatifs, ce qui simplifie l’ensemble du processus – aucun codage n’est nécessaire. Il donne lieu à un rapport très graphique et facile à comprendre :

selenium-wiiisdom-ops-test-summary

Et une vision très clair des deux versions comparées.

selenium-wiiisdom-ops-tableau-regression-test

Qu’est-ce que Selenium Grid ?

Les tests effectués à partir de l’environnement informatique de votre client présentent de sérieuses limites quant à l’échelle et aux caractéristiques environnementales des tests. Pour tester différents environnements de systèmes d’exploitation, il faut des VM ou des serveurs distincts pour chacun d’eux. Selenium Grid fonctionne à partir d’un seul nœud jusqu’à des centaines ou des milliers de nœuds, prenant en charge divers scénarios de test de navigateur/appareil utilisateur et des tests de charge à grande échelle. Les fichiers JSON de test sont exécutés localement ou à distance dans un environnement approprié à l’échelle requise, grande dans la plupart des cas.

selenium-grid-components

https://www.selenium.dev/documentation/grid/components/

 

En fonction de votre échelle, vous pouvez utiliser la Selenium Grid en mode autonome, Hub/Node, distribué ou Docker. Chacun d’entre eux comprend tous les composants ci-dessus intégrés de manière appropriée pour fournir une exécution facile pour tout déploiement. Les grilles autonomes exécutent tous leurs composants sur le même serveur. Les grilles Hub/Nodes, avec leurs nœuds séparés, fonctionnent bien pour les déploiements de taille moyenne. Les Grids distribués ont souvent tous leurs composants sur des serveurs différents afin de maximiser les performances.

Aujourd’hui, de nombreuses personnes demandent pourquoi il est nécessaire de tester sur autant de navigateurs alors que beaucoup d’entre eux sont désormais basés sur le projet open-source Chromium et sont pratiquement identiques, à l’exception de leur style d’interface graphique. La meilleure pratique consiste à effectuer des tests intensifs sur Chrome et à effectuer des tests plus légers sur Edge et d’autres navigateurs.

Le cloud s’adapte bien à l’utilisation de Selenium Grid, à condition qu’il ne fonctionne pas en continu à pleine capacité pendant plus de la moitié du temps, auquel cas, cette méthode pourrait se révéler très coûteuse.

La solution de test Selenium pour Tableau compte de nombreux partenaires avec toutes sortes de navigateurs, de systèmes d’exploitation et d’appareils mobiles, un moyen facile d’effectuer rapidement des tests sur des appareils mobiles. Cependant, comme ils sont pour la plupart délocalisés, il existe des problèmes de conformité potentiels pour de nombreuses entreprises qui testent leurs analytics. De nombreux types de données financières, clients et médicales doivent désormais rester au sein de l’organisation ou à minima, dans le pays ou sur le continent.

 

Battle 2: Selenium Grid vs. Wiiisdom Ops 

Wiiisdom Ops n’est pas une solution cloud, mais elle peut s’exécuter dans le cloud. Le test de performance de Wiiisdom Ops ne charge pas seulement l’écosystème Tableau mais identifie également les causes potentielles de tout problème.

performance-test-wiiisdom-ops

Il identifie les causes à l’origine des lenteurs observées.

example-latency-scatterplot

La restitution des latences en nuage de point communique tout problème tel qu’un démarrage tardif, l’épuisement de la mémoire dans le temps, la latence des données, etc.

Qu’est-ce que Selenium Web Driver ?

Selenium Webdriver est un environnement de test GUI complet qui utilise plusieurs langages de programmation pour produire les scripts de test. Java est probablement le langage de développement le plus populaire et le mieux pris en charge. Selenium IDE fonctionne bien pour les tests d’intégration étendus et les tests de régression. Il ne peut pas concevoir les tests avant que le tableau de bord Tableau n’existe (cf développement piloté par les tests TDD) car il est axé sur la reproduction d’une suite d’actions.

 

Selenium en résumé : 

  • Un outil très axé sur l’interface graphique par opposition aux données.
  • Au niveau de la session de test, vous avez accès et la possibilité de demander des paramètres comme :
    • Nom du navigateur, plateforme (OS), état (min, max, normal, plein écran), etc.
  • Dans le navigateur, vous pouvez lire et parfois définir des éléments tels que :
    • Précédent/précédent, alertes, cookies, fenêtres/onglets.
  • Dans une fenêtre/un onglet, vous pouvez localiser/trouver des éléments tels que des boutons en utilisant :
    • Nom de classe, sélecteur CSS, ID, nom, texte de lien, nom de balise, XPath, emplacement relatif, …
  • Après avoir indexé un élément, vous pouvez lui appliquer une action :
    • Clavier – Envoyer des touches, Touche haut, Touche bas, Effacer, …
    • Souris – Cliquer et maintenir, Cliquer, Double cliquer, Déplacer vers l’élément, Glisser-déposer, …
  • Appliquez un contrôle de temporisation pour permettre au contenu d’être servi :
    • Temporisation implicite – L’alerte est présente, L’élément existe, L’élément est visible, Le titre est, …
    • Temporisation explicite – Délai d’attente de X secondes et interrogation d’un élément toutes les Y secondes.
    • Java – Threadguard pour faciliter le débogage des grands déploiements.
  • Exploitez les API :
    • Authentification, journaux, exceptions, géolocalisation, couleurs, …

 

Dans l’ensemble, il ne s’agit pas d’une solution intégrée, avec des fonctionnalités avancées pour designer le test, loin s’en faut. Un test Java typique pour déplacer la souris au milieu d’un élément de fenêtre d’affichage ressemblerait à ceci :

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;

public class moveToElement {
  public static void main(String[] args) {
    WebDriver driver = new ChromeDriver();
    try {
      // Navigate to Url
      driver.get(“https://google.com”);

      // Store ‘Gmail’ anchor web element
      WebElement gmailLink = driver.findElement(By.linkText(“Gmail”));
      Actions actionProvider = new Actions(driver);
      // Performs mouse move action onto the element
      actionProvider.moveToElement(gmailLink).build().perform();
    } finally {
      driver.quit();
    }
  }
}

https://www.selenium.dev/documentation/webdriver/actions_api/mouse/

 

Battle 3: Selenium Webdriver vs. Wiiisdom Ops 

Le développement de tests Selenium Webdriver Tableau nécessite deux compétences préalables, la capacité de programmer dans l’un des nombreux langages pris en charge et de naviguer dans l’indexation des objets de l’interface graphique de l’application de test Tableau.

En revanche, la configuration d’un filtre Tableau avec un minimum de 10 et un maximum de 30 dans Wiiisdom Ops utilise une simple boîte de dialogue avec une navigation de recherche pour la feuille de calcul spécifique et les noms de filtres – aucune expérience de programmation n’est nécessaire. Presque tout le monde peut faire cette création de test Tableau de Wiiisdom Ops.

task-list-wiiisdom-ops

Alors, Wiiisdom Ops ou Selenium pour vos tests Tableau ?

Selenium est une suite puissante d’outils de test de pages Web, allant d’un simple replay de l’interaction de l’utilisateur à du cloud pour des tests de charge ou de navigateurs différents, en passant par un outil détaillé de programmation de tests de pages Web utilisant les langages de programmation populaire. Lorsqu’il est utilisé pour tester les déploiements de Tableau, Selenium nécessite un effort de développement important pour naviguer dans les attributs spécifiques à Tableau, par rapport aux outils de test Tableau sur mesure comme Wiiisdom Ops.

On dit que Selenium nécessite environ trois fois plus d’efforts que Wiiisdom Ops pour générer des tests Tableau. Un facteur important si vous travaillez avec de nombreux tableaux de bord.

Apprenez-en plus sur Wiiisdom Ops ici ou demandez une démonstration personnalisée ici.

selenium-vs-wiiisdom-ops-tableau-testing-fr

Laissez un commentaire

📢 The SAP BusinessObjects Live Summit is back on December 2nd! 💥

Save your spot today 👉 Register

X