Comment créer un framework d'automatisation de test compatible avec plusieurs navigateurs

Raisons pour lesquelles il est important pour le cadre d'automatisation d'effectuer des tests entre navigateurs:

  1. Lors de l'exécution des tests, il est crucial de créer une couverture pour chacun des navigateurs avec lesquels le produit est compatible.
  2. Dans certains cas, des bogues se produisent dans des navigateurs spécifiques.
  3. Maintenance du code simplifiée

Afin d'atténuer la maintenance du code, nous allons créer une classe responsable de nos navigateurs: 'Browsers'.

Collez le code suivant:

public class Browsers
{
    private static IWebDriver webDriver;
    private static string baseURL = ConfigurationManager.AppSettings["url"];
    private static string browser = ConfigurationManager.AppSettings["browser"];
    public static void Init()
    {
         switch (browser)
         {
             case "Chrome":
                 webDriver = new ChromeDriver();
              break;
             case "IE":
                 webDriver = new InternetExplorerDriver();
             break;
             case "Firefox":
                 webDriver = new FirefoxDriver();
             break;
         }
         webDriver.Manage().Window.Maximize();
         Goto(baseURL);
    }
    public static string Title
    {
         get { return webDriver.Title; }
    }
    public static IWebDriver getDriver
    {
         get { return webDriver; }
    }
    public static void Goto(string url)
    {
         webDriver.Url = url;
    }
    public static void Close()
    {
         webDriver.Quit();
    }
}

Description de la classe:

Tout d'abord, nous allons créer les variables pertinentes pour la classe. Dans notre cas, nous allons créer:

  1. Un objet qui contient notre pilote
  2. Une variable qui renverra l'url que nous atteignons
  3. Une variable qui contiendra le nom du navigateur spécifié

Notez que les valeurs de l'url et du navigateur seront enregistrées dans le fichier app.config.

private static IWebDriver webDriver;
private static string baseURL = ConfigurationManager.AppSettings["url"];
private static string browser = ConfigurationManager.AppSettings["browser"];

Description de la fonction:

Init - Au point de départ, il crée une instance du navigateur spécifié. Afin de déterminer avec quel navigateur travailler, nous utiliserons switch.

La commande: webDriver.Manage (). Window.Maximize ();

Agrandit la fenêtre du navigateur car Selenium ouvre le navigateur dans un affichage réduit.

Enfin, un appel à la fonction: GoTo (baseURL)

GoTo - responsable de la navigation du navigateur vers l'URL qu'il reçoit.

Close-  ferme le navigateur.

Description des propriétés:

Title - renvoie l'url du navigateur, nous utiliserons cet attribut lors de l'écriture des tests.

getDriver -  renvoie le pilote, nous utiliserons cet attribut lors de la création d'une classe de rapport.

Maintenant, vous vous demandez probablement comment prévoyons-nous d'implémenter cette classe? Nous reviendrons à la classe créée dans le tutoriel précédent et y collerons le morceau de code suivant:

[TestFixture]
public class AutomationCore
{
    // Core Automation class
    [TestFixtureSetUp]
    public void startUpTest()// This method fire at the start of the Test
    {
        Browsers.Init();
    }
    [TestFixtureTearDown]
    public void endTest()// This method will fire at the end of the Test
    {
        Browsers.Close();
    }
}

Dans la fonction startUpTest, nous appellerons Browsers.Init () et dans la fonction endTest, Browsers.Close () sera appelée.

 

Veuillez laisser un commentaire et me faire part de vos questions, idées et réflexions.

 


Rejoindre la conversation