Implémentation du module de rapport dans un framework d'automatisation de test

public class ReportsManager
{
    Reports report;
    string browser;
    string url;
    IWebDriver driver = Browsers.getDriver;
    public ReportsManager(string browser, string url)
    {
        this.browser = browser;
        this.url = url;
        report = new Reports(browser, url);
    }
    public void verifyURL(string url)
    {
        string PageURL = driver.Url;
        string message = "The Current Url and Expected Url are not equals";
        if (PageURL.Equals(url))
            report.addLine("Verify url", "PASS", "Url are Equals");
        else
            report.addLine("Verify url", "FAIL", message);
        Assert.AreEqual(PageURL, url, message);
    }
    public void verifyElementNotAppear(IWebElement element)
    {
        if(!element.Displayed)
        {
            string message = "Element does not exist";
            Assert.Fail(message);
            addLog("Looking For Element" + element + "", "FAIL", element + " Should Be On The Page");
        }
    }
    public void addLog(string des, string res, string exp)
    {
        report.addLine(des, res, exp);
    }
}

Permet d'entrer plus en détail sur le code, en commençant par les propriétés :

Reports report;
string browser;
string url;
IWebDriver driver = Browsers.getDriver;

La variable de type de rapport est notre classe de rapport. Le navigateur variables, url et pilote , nous vous recevrez de notre classe Browsers construit dans le Tutoriel précédent . Ensuite, passons aux fonctions de la classe: le constructeur recevra le type du Browser et l'url du site. Nous allons créer une nouvelle instance du système de reporting et transférer les paramètres dans le rapport.

verifyURL - Une fonction qui reçoit l'url du site Web et vérifie que nous sommes sur la page réelle trouvée par le navigateur. Afin d'obtenir l'url actuelle du navigateur, nous utiliserons driver.Url. C'est la raison derrière la création d'une variable du type de pilote au début. Ensuite, nous comparerons les URL et rédigerons un message pertinent pour le rapport.

VerifyElementNotAppear - Une fonction qui vérifie si l'élément n'existe pas sur la page et écrit le résultat dans le rapport.

addLine - Une fonction qui écrit une ligne à l'intérieur de notre rapport.

De toute évidence, l'exemple présenté ci-dessus n'est qu'une démonstration de base du système de reporting et il est fortement recommandé d'ajouter plus de fonctions pour écrire des journaux plus robustes.

Afin d'exécuter la classe de reporting dans notre cadre de test automatisé, passons à la classe Browsers:

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.IE;
using OpenQA.Selenium.Firefox;
using System.Configuration;
namespace Test
{
    public class Browsers
    {
        private static IWebDriver webDriver;
        public static ReportsManager reports; // adding the report vaiable
        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();
            reports = new ReportsManager(browser, baseURL);  // Creating New Instance of report
            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;
            reports.verifyURL(url); // Verifying the URL
       }
       public static void Close()
       {
            webDriver.Quit();
       }
    }
}

Nous avons déclaré un nouvel objet de rapport appelé «rapports».

Création d'une nouvelle instance au lancement des navigateurs:

rapports = nouveau ReportsManager (navigateur, baseURL);

Chaque fois que nous accédons à la nouvelle URL, nous vérifierons qu'elle est au bon endroit:

reports.verifyURL (url);

Veuillez laisser un commentaire et poser vos questions sur ce module de rapport.


Rejoindre la conversation