Selenium - Télécommande

Qu'est-ce que Selenium RC?

Selenium Remote Control (RC) était le principal projet Selenium qui a duré longtemps avant la naissance de Selenium WebDriver (Selenium 2.0). Maintenant Selenium RC est à peine utilisé, car WebDriver offre des fonctionnalités plus puissantes, mais les utilisateurs peuvent toujours continuer à développer des scripts à l'aide de RC.

Il nous permet d'écrire des tests d'interface utilisateur d'applications Web automatisés à l'aide de toute la puissance de langages de programmation tels que Java, C #, Perl, Python et PHP pour créer des tests plus complexes tels que la lecture et l'écriture de fichiers, l'interrogation d'une base de données et l'envoi par courrier électronique des résultats des tests. .

Architecture sélénium RC

Selenium RC fonctionne de telle manière que les bibliothèques clientes puissent communiquer avec le serveur Selenium RC en passant chaque commande Selenium pour exécution. Ensuite, le serveur transmet la commande Selenium au navigateur à l'aide des commandes JavaScript Selenium-Core.

Le navigateur exécute la commande Selenium à l'aide de son interpréteur JavaScript.

Selenium RC est disponible en deux parties.

  • Le serveur Selenium lance et tue les navigateurs. En plus de cela, il interprète et exécute les commandes Selenese. Il agit également comme un proxy HTTP en interceptant et en vérifiant les messages HTTP passés entre le navigateur et l'application testée.

  • Bibliothèques clientes qui fournissent une interface entre chacun des langages de programmation (Java, C #, Perl, Python et PHP) et le serveur Selenium-RC.

Script RC

Maintenant, écrivons un exemple de script à l'aide de Selenium Remote Control. Laissez-nous utiliserhttp://www.calculator.net/pour comprendre Selenium RC. Nous effectuerons un calcul de pourcentage à l'aide de la «Calculatrice de pourcentage» qui est présente dans le module «Calculatrices mathématiques».

Step 1 - Démarrez Selenium Remote Control (à l'aide de l'invite de commande).

Step 2 - Après avoir lancé Selenium RC, ouvrez Eclipse et créez un "Nouveau projet" comme indiqué ci-dessous.

Step 3 - Entrez le nom du projet et cliquez sur le bouton «Suivant».

Step 4 - Vérifiez le dossier Source, Projets, Bibliothèques et Sortie et cliquez sur «Terminer».

Step 5 - Faites un clic droit sur le conteneur 'projet' et choisissez 'Configurer le chemin de construction'.

Step 6- Les propriétés de 'selrcdemo' s'ouvrent. Accédez à l'onglet "Bibliothèques" et sélectionnez "Ajouter des fichiers JAR externes". Choisissez le fichier jar Selenium RC que nous avons téléchargé et il apparaîtra comme indiqué ci-dessous.

Step 7 - Les bibliothèques référencées sont affichées comme ci-dessous.

Step 8 - Créez un nouveau fichier de classe en effectuant un clic droit sur le dossier 'src' et sélectionnez 'New' >> 'class'.

Step 9 - Entrez un nom de fichier de classe et activez 'public static void main' comme indiqué ci-dessous.

Step 10 - La classe créée est créée sous la structure de dossiers comme indiqué ci-dessous.

Step 11- Il est maintenant temps de coder. Le code suivant contient des commentaires pour que les lecteurs comprennent ce qui a été proposé.

package selrcdemo;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;

public class rcdemo {
   public static void main(String[] args) throws InterruptedException {

      // Instatiate the RC Server
      Selenium selenium = new DefaultSelenium("localhost", 4444 , "firefox", "http://www.calculator.net");
      selenium.start();   // Start
      selenium.open("/");  // Open the URL
      selenium.windowMaximize();

      // Click on Link Math Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[3]/a");
      Thread.sleep(2500); // Wait for page load

      // Click on Link Percent Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[4]/div[3]/a");
      Thread.sleep(4000); // Wait for page load

      // Focus on text Box
      selenium.focus("name = cpar1");
      
      // enter a value in Text box 1
      selenium.type("css=input[name = \"cpar1\"]", "10");
      
      // enter a value in Text box 2
      selenium.focus("name = cpar2");
      selenium.type("css = input[name = \"cpar2\"]", "50");

      // Click Calculate button
      selenium.click("xpath = .//*[@id = 'content']/table/tbody/tr/td[2]/input");

      // verify if the result is 5
      String result = selenium.getText(".//*[@id = 'content']/p[2]");

      if (result == "5") {
         System.out.println("Pass");
      } else {
         System.out.println("Fail");
      }
   }
}

Step 12 - Maintenant, exécutons le script en cliquant sur le bouton «Exécuter».

Step 13 - Le script commencerait à s'exécuter et l'utilisateur pourrait voir l'historique des commandes sous l'onglet «Historique des commandes».

Step 14- L'état final de l'application est indiqué ci-dessous. Le pourcentage est calculé et il affiche le résultat à l'écran comme indiqué ci-dessous.

Step 15- La sortie du test est imprimée sur la console Eclipse comme indiqué ci-dessous, car nous avons imprimé la sortie sur la console. En temps réel, la sortie est écrite dans un fichier HTML ou dans un simple fichier texte.