Selenium Tutoriel C# : Framework NUnit avec exemple

⚡ Résumé intelligent

Selenium WebDriver pilote les navigateurs depuis C# via l'interface IWebDriver, tandis que NUnit fournit les attributs de test, les assertions et les rapports de Test Explorer qui transforment ces étapes de navigation en tests automatisés reproductibles.

  • (I.e. Chaîne d'outils : Visual Studio plus le Selenium WebDriver, NUnit et adaptateur de test NUnit NuGet packages.
  • ☑️ Configuration du projet : Le type de sortie doit être « Bibliothèque de classes » et non « Application console », sinon la compilation échouera.
  • ✅ Attributs NUnit : La fonction SetUp ouvre le navigateur, la fonction Test effectue les actions, et la fonction TearDown le ferme.
  • 🧪 Groupes de commandement : Commandes du navigateur, commandes WebElement et commandes de liste déroulante via SelectElement.
  • ️ Localisateurs : FindElement accepte les stratégies de sélection XPath et CSS pour chaque interaction avec un élément.
  • | Exécution: Test Explorer exécute la classe et indique si chaque résultat a réussi ou échoué.

Selenium Automatisation C# avec le framework de tests NUnit

Selenium Marché

Selenium est un site Web open source Tests d'automatisation outil qui prend en charge plusieurs navigateurs et plusieurs systèmes d'exploitation. Il permet aux testeurs d'utiliser plusieurs langages de programmation tels que Java, C#, PythonRuby, PHP et Perl sont utilisés pour coder des tests automatisés. Si vous débutez avec cet outil, commencez par… Selenium tutoriel et la WebDriver versus Selenium Comparaison RC.

Selenium fournit le contrôle du navigateur ; le langage avec lequel vous le pilotez fournit la structure.

Présentation de C#

C# est un langage de programmation orienté objet dérivé de C++ et JavaC# permet aux développeurs de créer des applications à l'aide de Visual Studio sur la plateforme .NET. Voici les principales caractéristiques de C#. C#.

  1. C'est un langage de programmation orienté objet
  2. Il prend en charge le développement d'applications console, Windows et Web.
  3. Il fournit des fonctionnalités telles que l'encapsulation, l'héritage et le polymorphisme.

Avant le câblage Selenium Il est utile, dans ce contexte, de reconnaître la structure d'un programme C# simple.

Syntaxe de base de C#

Un programme en C# doit contenir les sections suivantes

  1. Déclaration d'espace de noms
  2. Cours
  3. Attributs et méthodes de classe
  4. Méthode principale
  5. Énoncés de programme

Exemple-

Voici un exemple Selenium Exemple de programme C# pour imprimer le texte 'Guru99' sur la console système.

using System;
namespace FirstProgram {
class DemoPrint {
static void main(){
    Console.WriteLine("Guru99");
	}
  }
}

Explication:

  • Un espace de noms dans ce qui précède Selenium L'exemple C# est une collection de plusieurs classes. Chaque espace de noms doit être déclaré à l'aide du mot-clé 'using'.
  • La première instruction du code inclut l'espace de noms « Système » dans notre programme. L'espace de noms système définit les classes et événements fondamentaux utilisés en C#. L'espace de noms à utiliser dépend des exigences du programme.
  • La deuxième instruction déclare un espace de noms « FirstProgram » pour la classe « DemoPrint ». Le fichier AC# peut contenir plusieurs classes dans le même espace de noms.
  • La troisième instruction inclut la déclaration de classe. Une classe peut contenir plusieurs attributs et plusieurs méthodes.
  • La quatrième instruction inclut une déclaration de la méthode Main. La méthode main est le point d’entrée d’exécution de chaque classe.
  • La dernière instruction correspond à la syntaxe C# utilisée pour afficher une instruction dans la console. WriteLine est une méthode de la classe. Console classe. Notez que le point d'entrée est orthographié Main avec un M majuscule dans le vrai C#; la minuscule main L'élément figurant dans l'exemple ci-dessus ne sera pas reconnu comme un point d'entrée.

Une fois la syntaxe définie, la prochaine étape consiste à installer les outils qui compilent et exécutent ces tests.

Selenium avec l'installation C#

Comment configurer Visual Studio avec Selenium Pilote Web :

Maintenant dans ce Selenium Tutoriel C#, apprenons le processus étape par étape pour configurer Visual Studio avec Selenium Pilote Web :

Visual Studio est un environnement de développement intégré (IDE) utilisé par les développeurs pour créer des applications sur plusieurs plates-formes telles que Windows, Android, iOS et applications basées sur le cloud.

Étape 1) Accédez à la URL

https://visualstudio.microsoft.com/downloads/ et cliquez sur le 'Téléchargement Gratuit' bouton affiché sur l'onglet Communauté Visual Studio

Page de téléchargement de Visual Studio avec le bouton de téléchargement gratuit de l'édition Community

Étape 2) Ouvrez l'exe téléchargé. Cliquez sur « Oui » si les droits d'administrateur vous sont demandés.

Le programme d'installation de Visual Studio demande des droits d'administrateur.

Étape 3) La fenêtre contextuelle ci-dessous apparaîtra. Cliquez sur le bouton « Continuer ».

Fenêtre contextuelle de bienvenue de l'installateur de Visual Studio avec le bouton Continuer

Les fichiers seront téléchargés comme indiqué dans la fenêtre contextuelle ci-dessous.

Le programme d'installation de Visual Studio télécharge les fichiers des composants

Étape 4) Dans l'écran suivant,

Cochez les cases pour

  • Universel Windows Développement de plateforme
  • Développement de bureau .NET

Cliquez sur "Installer".

Écran de charge de travail Visual Studio avec Universal Windows Plateforme et développement de bureau .NET validés

Attendez la fin de l'installation de chaque composant. Les fichiers font 16 Go et prendront du temps.

Barre de progression de l'installateur Visual Studio pour chaque composant sélectionné

Étape 5) La fenêtre contextuelle ci-dessous s'affichera. Cliquez sur le bouton « Redémarrer ».

Le programme d'installation de Visual Studio demande un redémarrage de l'ordinateur.

Étape 6) Une fois la machine redémarrée, recherchez « Visual Studio » dans le menu Démarrer et cliquez sur le résultat de la recherche. La fenêtre contextuelle suivante apparaîtra. Cliquez sur le lien « Pas maintenant, peut-être plus tard » si vous n'avez pas de compte existant.

Fenêtre contextuelle de connexion à Visual Studio avec le lien « Plus tard ».

Étape 7) Dans l'écran suivant,

  • Sélectionnez le thème de couleur de votre choix
  • Cliquez sur le bouton « Démarrer Visual Studio ».

Écran de premier lancement de Visual Studio pour le choix d'un thème de couleurs

Étape 8) L’écran « Commencer » de Visual Studio apparaîtra.

Écran de démarrage de Visual Studio une fois l'installation terminée

Créez un nouveau projet dans Visual Studio :

Étape 1) Dans le menu Fichier, cliquez sur Nouveau > Projet

Menu Fichier de Visual Studio avec Nouveau et Projet sélectionnés

Étape 2) Dans l'écran suivant,

  1. Sélectionnez l'option 'Visual C#'
  2. Cliquez sur l'application console (.Net Framework)
  3. Entrez le nom sous la forme «Guru99 "
  4. cliquez sur OK

Boîte de dialogue Nouveau projet avec application console Visual C# et le projet nommé Guru99

Étape 3) L'écran ci-dessous s'affichera une fois le projet créé avec succès.

L'éditeur Visual Studio affiche le nouvel élément créé. Guru99 projets de console

Configurer Visual Studio avec Selenium Pilote Web :

Étape 1) Accédez à Outils -> NuGet Gestionnaire de packages -> Gérer NuGet Forfaits pour la solution

Chemin d'accès au menu Outils vers NuGet Gestionnaire de paquets et gestion NuGet Forfaits pour la solution

Étape 2) Dans l'écran suivant

  1. Recherchez Selenium sur l'écran résultant
  2. Sélectionnez le premier résultat de recherche
  3. Cochez la case du projet
  4. Cliquez sur 'Installer'

NuGet gestionnaire de paquets avec le Selenium Résultat de la recherche et case à cocher du projet cochée

Étape 3) Cliquez sur le bouton « OK » dans l'écran contextuel

NuGet une fenêtre contextuelle de confirmation s'affiche avant le Selenium Le paquet est installé

Étape 4) Le message ci-dessous s'affichera une fois le package installé avec succès.

NuGet confirmation de la sortie Selenium WebDriver installé avec succès

Selenium Il est désormais possible d'ouvrir un navigateur, mais il est encore impossible de savoir si un test a réussi. C'est le rôle d'un framework de tests unitaires.

Cadre NUnit : présentation

NUnit est le Tests unitaires framework pris en charge par Visual Studio et Selenium WebDriver. NUnit est le framework de tests unitaires le plus utilisé pour les applications .NET. NUnit présente les résultats des tests dans un format lisible et permet au testeur de déboguer les tests automatisés.

Pour l'utiliser, nous devons installer NUnit Framework et NUnit Test Adapter sur Visual Studio.

Étapes pour installer NUnit Framework

Maintenant dans ce Selenium avec le tutoriel C#, apprenons le processus d'installation du framework NUnit :

Étape 1) Accédez à Outils -> NuGet Gestionnaire de packages -> Gérer NuGet Forfaits pour la solution

Le menu Outils a rouvert ses portes à NuGet Gestionnaire de paquets pour l'installation de NUnit

Étape 2) Dans la fenêtre suivante

  1. Rechercher NUnit
  2. Sélectionnez le résultat de la recherche
  3. Sélectionnez un projet
  4. Cliquez sur Installer

NuGet Gestionnaire de paquets avec le résultat de recherche NUnit sélectionné pour l'installation

Étape 3) La fenêtre contextuelle ci-dessous apparaîtra. Cliquez sur le bouton « OK ».

NuGet Une fenêtre contextuelle de confirmation s'affiche avant l'installation du framework NUnit.

Étape 4) Le message ci-dessous apparaîtra une fois l'installation terminée.

NuGet Message confirmant la fin de l'installation du framework NUnit

Étapes pour télécharger l’adaptateur de test NUnit

Maintenant, dans ce didacticiel NUnit, nous aborderons les étapes pour télécharger l'adaptateur de test NUnit :

Veuillez noter que les étapes ci-dessous ne fonctionnent que pour les machines 32 bits. Pour les machines 64 bits, vous devez télécharger « NUnit3 Test Adapter » en suivant le même processus que celui mentionné ci-dessous.

Forfaits actuels : un projet moderne installe Adaptateur de test NUnit3 avec Microsoft.NET.Test.Sdket les plus âgés Adaptateur de test NUnit Ce package n'est plus maintenu. Sur .NET (Core), l'ensemble du projet peut être généré avec dotnet new nunit, ce qui ajoute les trois forfaits pour vous.

Étape 1) Accédez à Outils ->NuGet Gestionnaire de packages -> Gérer NuGet Packages pour la solution. Dans cet écran,

  1. Rechercher NUnitTestAdapter
  2. Cliquez sur Résultat de la recherche
  3. Sélectionnez un projet
  4. Cliquez sur Installer

NuGet Gestionnaire de paquets recherchant NUnitTestAdapter avec le projet sélectionné

Étape 2) Cliquez sur OK dans la fenêtre contextuelle de confirmation. Une fois l'installation terminée, vous verrez le message suivant :

NuGet Message confirmant la fin de l'installation de l'adaptateur de test NUnit

Les deux moitiés sont installées, la prochaine étape consiste donc à les fusionner en une seule classe de test.

Selenium et le cadre NUnit

L'intégration de Selenium avec le framework NUnit permet à un testeur de différencier les différentes classes de tests. NUnit permet également aux testeurs d'utiliser des annotations telles que SetUp, Test et TearDown pour effectuer des actions avant et après l'exécution du test.

Le framework NUnit peut être intégré à Selenium en créant une classe de test NUnit et en exécutant cette classe de test à l'aide du framework NUnit. Java L'équivalent de ce modèle est traité dans le JUnit Tutoriel sur le frameworket l'alternative .NET à NUnit dans Visual Studio est abordée en parallèle TestNG pour Selenium.

Ci-dessous les étapes de cette opération Selenium Un didacticiel sur le framework C# est nécessaire pour créer et exécuter une classe de test à l'aide du framework NUnit.

Étapes pour créer une classe de test NUnit dans Selenium:

Étape 1) Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet > Ajouter > Classe

Menu contextuel de l'Explorateur de solutions avec Ajouter et Classe sélectionnés

Étape 2) La fenêtre de création de classe apparaîtra.

  1. Donnez un nom à la classe
  2. Cliquez sur le bouton Ajouter

La boîte de dialogue « Ajouter un nouvel élément » permet de nommer la nouvelle classe de test NUnit.

Étape 3) L'écran ci-dessous apparaîtra.

Fichier de classe C# vide créé dans l'éditeur Visual Studio

Étape 4) Ajoutez le code suivant à la classe créée. Veuillez noter que vous devez spécifier l'emplacement du fichier « chromedriver.exe » lors de l'initialisation du pilote Chrome. Selenium 4.6 et navires ultérieurs Selenium Gérant, ce qui résout automatiquement le problème du pilote correspondant, donc new ChromeDriver() La forme actuelle est celle sans argument de chemin ; le chemin ci-dessous est conservé car il correspond aux captures d’écran.

using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class Guru99Demo						
    {
        IWebDriver driver;

        [SetUp]
		public void startBrowser()
        {
            driver = new ChromeDriver("D:\\3rdparty\\chrome");
        }

        [Test]
		public void test()
        {
            driver.Url = "http://www.google.co.in";
        }

        [TearDown]
		public void closeBrowser()
        {
            driver.Close();
        }

    }
}

Étape 4) Cliquez sur « Construire » -> « Construire une solution »

Menu Générer avec l'option « Générer la solution » sélectionnée dans Visual Studio

NOTE: Vous pouvez obtenir une erreur du type « Ne contient pas de méthode statique « principale » adaptée à un point d'entrée » lorsque vous construisez

Erreur de compilation : aucune méthode main statique n'est appropriée comme point d'entrée.

Pour résoudre ce problème, accédez à Projet > Propriétés et modifiez le type de sortie en « Bibliothèque de classes ». La valeur par défaut est « Application console ».

Propriétés du projet avec le type de sortie défini sur Bibliothèque de classes

Étape 5) Une fois la construction réussie, nous devons ouvrir la fenêtre Test Explorer. Cliquez sur Test -> Windows -> Explorateur de tests

Testez le chemin du menu vers Windows et Test Explorer

Étape 6) La fenêtre de l'Explorateur de tests s'ouvre avec la liste des tests disponibles. Cliquez avec le bouton droit sur l'Explorateur de tests et sélectionnez Exécuter les tests sélectionnés

L'explorateur de tests liste les tests disponibles avec l'option « Exécuter les tests sélectionnés ».

Étape 7) Selenium doit ouvrir le navigateur avec les paramètres spécifiés URL Fermez ensuite le navigateur. Le statut du cas de test passera à « Réussi » dans la fenêtre Explorateur de tests.

L'explorateur de tests affiche le résultat du test NUnit marqué comme réussi.

La réussite d'un test prouve que le système fonctionne. Voici le vocabulaire que vous utiliserez pour rédiger vos tests.

Selenium Commandes WebDriver en C#

C# utilise l'interface « IWebDriver » pour les interactions avec le navigateur. Voici la catégorie de commandes disponibles avec Selenium en C#.

  1. Commandes du navigateur
  2. Commandes des éléments Web
  3. Commandes déroulantes

Maintenant dans ce Selenium Tutoriel C#, étudions-le Selenium Les commandes WebDriver sont exécutées une par une. Java Des homologues sont présentés dans ce premier script WebDriver procédure pas à pas.

Les commandes ci-dessous sont toujours les commandes actuelles IWebDriver surface dans Selenium 4, la syntaxe reste donc inchangée.

Commandes du navigateur :

Vous trouverez ci-dessous une liste des commandes de navigateur disponibles en C# avec Selenium.

Nom de la commande Description Syntaxe
Commande URL Cette commande est utilisée pour ouvrir un fichier spécifié URL dans le navigateur.
driver.Url = "https://www.guru99.com"
Commande de titre Cette commande permet de récupérer le titre de la page Web actuellement ouverte
String title = driver.Title
Commande PageSource Cette commande est utilisée pour récupérer le code source de la page Web actuellement ouverte.
String pageSource = driver.PageSource
Fermer la commande Cette commande est utilisée pour fermer l'instance de navigateur récemment ouverte.
driver.Close();
Quitter la commande Cette commande est utilisée pour fermer toutes les instances de navigateur ouvertes
driver.Quit();
Commande Retour Cette commande est utilisée pour accéder à la page précédente de l'historique du navigateur.
driver.Navigate().Back();
Commandement avancé Cette commande est utilisée pour accéder à la page suivante de l'historique du navigateur.
driver.Navigate().Forward()
Commande Actualiser Cette commande est utilisée pour effectuer l'actualisation du navigateur.
driver.Navigate().Refresh()

Les commandes du navigateur agissent sur la fenêtre ; le groupe suivant agit sur son contenu.

Commandes WebElement

Un élément Web représente n'importe quel élément d'une page web. Il est représenté par des balises HTML. Les boutons, les zones de texte, les liens, les images, les tableaux et les cadres sont tous des éléments Web. OperaLes actions sur ces éléments sont déclenchées par le biais du IWebElement interface. Pour interagir avec un élément Web, nous devons d'abord… trouver l'élément sur la page, puis effectuez une opération dessus. Les stratégies disponibles sont décrites dans localisateurs dans SeleniumLes outils de développement du navigateur (ou les anciens modules complémentaires Firebug et Firepath, antérieurs aux captures d'écran ci-dessous) peuvent être utilisés pour identifier le problème. XPath d'un élément Web.

Voici les commandes WebElement disponibles en C#.

Nom de la commande Description Syntaxe
Cliquez sur la commande Cette commande permet de cliquer sur un Webelement. Pour que l'élément soit cliquable, l'élément doit être visible sur la page Web. Cette commande est également utilisée pour les opérations sur les cases à cocher et les boutons radio.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.Click();
Effacer la commande Cette commande est spécifiquement utilisée pour effacer le contenu existant des zones de texte.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.Clear();
Commande EnvoyerKeys Cette commande est utilisée pour saisir une valeur dans les zones de texte. La valeur à saisir doit être passée en paramètre à
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.SendKeys("guru99");
Commande affichée Cette commande est utilisée pour identifier si un élément spécifique est affiché sur la page Web. Cette commande renvoie une valeur booléenne ; vrai ou faux selon la visibilité de l'élément Web.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Displayed;
Commande activée Cette commande est utilisée pour identifier si un élément Web particulier est activé sur la page Web. Cette commande renvoie une valeur booléenne ; vrai ou faux en conséquence.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Enabled;
Commande sélectionnée Cette commande permet de déterminer si un élément web particulier est sélectionné. Elle s'applique aux cases à cocher, aux boutons radio et aux listes déroulantes.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Selected;
Soumettre la commande : Cette commande est similaire à la commande clic. La différence réside dans le fait que le formulaire HTML comporte ou non un bouton du type Soumettre. Pendant que la commande de clic clique sur n'importe quel bouton, la commande de soumission clique sur les seuls boutons de type soumettre.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.submit();
Commande de texte Cette commande renvoie le texte interne d'un Webelement. Cette commande renvoie en conséquence une valeur de chaîne.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String text=element.Text;
Commande NomÉtiquette Cette commande renvoie la balise HTML d'un élément Web. Il renvoie une valeur de chaîne comme résultat.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  String tagName = element.TagName;
Commande GetCSSValue : Cette méthode permet de renvoyer la couleur d'un élément web sous la forme d'une chaîne rgba (Rouge, Vert, Bleu et Alpha).
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String color = element.getCSSValue;

Sortie– Si la couleur de l'élément est rouge, la sortie serait rgba(255,0,0,1)

Remarque concernant les exemples ci-dessus : Le tableau reproduit la syntaxe originale. Dans la version actuelle Selenium .NET les membres sont en PascalCase — element.Submit() et element.GetCssValue("color") - et GetCssValue prend le nom de la propriété CSS comme argument.

Commandes déroulantes :

Les opérations de liste déroulante en C# peuvent être réalisées à l'aide de la classe SelectElement.

Voici les différentes opérations de liste déroulante disponibles en C#.

Nom de la commande Description Syntaxe
Commande SelectByText Cette commande sélectionne une option dans une liste déroulante en fonction du texte de l'option.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByText("Guru99");
Commande SelectByIndex Cette commande permet de sélectionner une option en fonction de son index. L'index de la liste déroulante commence à 0.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByIndex("4");
Commande SelectByValue Cette commande est utilisée pour sélectionner une option en fonction de sa valeur d'option.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByValue("Guru99");
Commande Options Cette commande permet de récupérer la liste des options affichées dans une liste déroulante.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
List<IWebelement> options = select. Options;
int size = options.Count;
for(int i=0;i<options.size();i++)
{
String value = size.elementAt(i).Text;
Console.writeLine(value);
}

Le code ci-dessus imprime toutes les options sur la console dans une liste déroulante.

Commande IsMultiple Cette commande permet de déterminer si une liste déroulante est à sélection multiple ; une liste déroulante à sélection multiple permet à l'utilisateur de choisir plusieurs options simultanément. Cette commande renvoie une valeur booléenne.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
Boolean status = select.IsMultiple();
Commande DésélectionnerTout Cette commande est utilisée dans les listes déroulantes à sélection multiple. Il efface les options déjà sélectionnées.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectAll();
Commande DeSelectByIndex Cette commande désélectionne une valeur déjà sélectionnée à l'aide de son index.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByIndex("4");
Commande DeSelectByValue Cette commande désélectionne une valeur déjà sélectionnée en utilisant sa valeur.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByValue("Guru99");
Commande DeSelectByText Cette commande désélectionne une valeur déjà sélectionnée à l'aide de son texte.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByText("Guru99");

Les quatre scripts ci-dessous mettent les commandes ci-dessus à profit contre le Guru99 sites de démonstration. Chacun d'eux est une classe de test NUnit complète et exécutable.

Code Échantillons

Exemple 1 : Cliquez sur un lien à l'aide du localisateur XPATH :

Scénario de test:

  1. Accéder à la démo Guru99 pages web – https://demo.guru99.com/test/guru99home/
  2. Maximiser la fenêtre
  3. Cliquez sur le menu "Tests"
  4. Fermez le navigateur
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class CSS						
    {
        IWebDriver m_driver;

        [Test]
		public void cssDemo()
        {
            m_driver = new ChromeDriver("D:\\3rdparty\\chrome");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();
            IWebelement link = m_driver.FindElement(By.XPath(".//*[@id='rt-header']//div[2]/div/ul/li[2]/a"));
            link.Click();
            m_driver.Close();
        }
    }
}

Exemple 2 : Saisir des données dans du texteBox et cliquez sur un bouton à l'aide du localisateur XPATH :

Scénario de test:

  1. Accédez à la Guru99 pages de démonstration – https://demo.guru99.com/test/guru99home/
  2. Saisissez les données dans la zone de texte de l'e-mail
  3. Cliquez sur le bouton d'inscription
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class CSS						
    {
        IWebDriver m_driver;

        [Test]
		public void cssDemo()
        {
            m_driver = new ChromeDriver("G:\\");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();

             
			// Store locator values of email text box and sign up button				
            IWebElement emailTextBox = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-email']"));
            IWebElement signUpButton = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-submit']"));

            emailTextBox.SendKeys("test123@gmail.com");
            signUpButton.Click();
                        
        }
    }
}			

Exemple 3 : Saisir des données dans du texteBox et cliquez sur un bouton à l'aide du localisateur CSS :

Scénario de test:

  1. Accédez à la Guru99 pages de démonstration – https://demo.guru99.com/test/guru99home/
  2. Saisissez les données dans la zone de texte de l'e-mail
  3. Cliquez sur le bouton d'inscription
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class CSS						
    {
        IWebDriver m_driver;

        [Test]
		public void cssDemo()
        {
            m_driver = new ChromeDriver("G:\\");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();

             
			// Store locator values of email text box and sign up button				
            IWebElement emailTextBox = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-email]"));
            IWebElement signUpButton = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-submit]"));

            emailTextBox.SendKeys("test123@gmail.com");
            signUpButton.Click();

             
        }
    }
}

Exemple 4 : Sélectionnez une valeur dans la liste déroulante :

Scénario de test:

  1. Accédez à la Guru99 pages de démonstration – https://demo.guru99.com/test/guru99home/
  2. Cliquez sur SAP lien
  3. Saisissez les données dans les zones de texte du nom et de l'e-mail
  4. Sélectionnez une valeur dans la liste déroulante Cours
  5. Fermez le navigateur
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;


namespace Guru99Demo
{
	class TestSelect						
    {
        IWebDriver m_driver;

        [Test]
		public void selectDemo()
        {
            m_driver = new ChromeDriver("G:\\");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();

            IWebElement course = m_driver.FindElement(By.XPath(".//*[@id='awf_field-91977689']"));

			var selectTest = new SelectElement(course);
			// Select a value from the dropdown				
            selectTest.SelectByValue("sap-abap");
                        
        }
    }
}

FAQ

Utilisez le Selenium.WebDriver 4.x avec NUnit 3.14 ou NUnit 4, plus NUnit3TestAdapter et MicrosoftLe kit de développement logiciel .NET Test Sdk pour NUnit 4 cible .NET Framework 4.6.2 ou .NET 6 et versions ultérieures. Vérifiez donc la version cible de votre projet avant de mettre à niveau les packages indiqués ci-dessus.

Non. Selenium 4.6 introduit Selenium Le gestionnaire télécharge et associe le pilote du navigateur lors de l'exécution. Il est toujours possible de passer un dossier de pilotes au constructeur ChromeDriver, mais cela n'est nécessaire que si vous devez spécifier une version particulière du pilote.

Une attente implicite applique un délai d'attente unique à chaque recherche d'élément pendant toute la durée de vie de l'instance IWebDriver. Une attente explicite cible un élément et une condition, comme la possibilité de cliquer ou la visibilité ; elle détecte donc les échecs plus rapidement et décrit l'intention avec plus de précision.

Oui. Marquez l'assembly comme Parallélisable et NUnit exécutera les fixtures simultanément. Chaque test doit posséder sa propre instance de IWebDriver ; créez donc le pilote dans SetUp plutôt que de le partager dans un champ statique, sinon les tests parallèles entreront en conflit sur le même navigateur.

NUnit et MSTest utilisent tous deux des attributs et regroupent les tests avec TestFixture ou TestClass. xUnit, quant à lui, ne nécessite aucun attribut de classe et a été conçu pour le parallélisme. Ces trois outils s'exécutent dans Test Explorer ; NUnit reste le choix le plus courant pour Selenium Je travaille en C#.

Les outils d'IA proposent des localisateurs à partir d'un instantané de page, réparent les sélecteurs cassés suite à une modification de l'interface utilisateur et convertissent un cas de test écrit en une ébauche de méthode NUnit. Considérez chaque suggestion comme une ébauche et vérifiez les assertions avant de les valider.

Oui. À partir d'un commentaire décrivant le scénario, Copilot génère les membres SetUp, Test et TearDown et suggère des appels à FindElement dans le code environnant. Vérifiez les localisateurs par rapport à la page en ligne, car les sélecteurs générés sont déduits et non inspectés.

Selenium Playwright offre la prise en charge la plus étendue des grilles, du cloud et des langages, ainsi qu'un vaste environnement de tests existant, ce qui garantit la pertinence de cette compétence. Playwright propose une exécution plus rapide et une gestion des temps d'attente intégrée. De nombreuses équipes .NET utilisent les deux outils, partageant le même exécuteur NUnit et les mêmes rapports.

Résumez cet article avec :