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.
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#.
- C'est un langage de programmation orienté objet
- Il prend en charge le développement d'applications console, Windows et Web.
- 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
- Déclaration d'espace de noms
- Cours
- Attributs et méthodes de classe
- Méthode principale
- É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.
Consoleclasse. Notez que le point d'entrée est orthographiéMainavec un M majuscule dans le vrai C#; la minusculemainL'é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
Étape 2) Ouvrez l'exe téléchargé. Cliquez sur « Oui » si les droits d'administrateur vous sont demandés.
Étape 3) La fenêtre contextuelle ci-dessous apparaîtra. Cliquez sur le bouton « Continuer ».
Les fichiers seront téléchargés comme indiqué dans la fenêtre contextuelle ci-dessous.
Étape 4) Dans l'écran suivant,
Cochez les cases pour
- Universel Windows Développement de plateforme
- Développement de bureau .NET
Cliquez sur "Installer".
Attendez la fin de l'installation de chaque composant. Les fichiers font 16 Go et prendront du temps.
Étape 5) La fenêtre contextuelle ci-dessous s'affichera. Cliquez sur le bouton « Redémarrer ».
É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.
Étape 7) Dans l'écran suivant,
- Sélectionnez le thème de couleur de votre choix
- Cliquez sur le bouton « Démarrer Visual Studio ».
Étape 8) L’écran « Commencer » de Visual Studio apparaîtra.
Créez un nouveau projet dans Visual Studio :
Étape 1) Dans le menu Fichier, cliquez sur Nouveau > Projet
Étape 2) Dans l'écran suivant,
- Sélectionnez l'option 'Visual C#'
- Cliquez sur l'application console (.Net Framework)
- Entrez le nom sous la forme «Guru99 "
- cliquez sur OK
Étape 3) L'écran ci-dessous s'affichera une fois le projet créé avec succès.
Configurer Visual Studio avec Selenium Pilote Web :
Étape 1) Accédez à Outils -> NuGet Gestionnaire de packages -> Gérer NuGet Forfaits pour la solution
Étape 2) Dans l'écran suivant
- Recherchez Selenium sur l'écran résultant
- Sélectionnez le premier résultat de recherche
- Cochez la case du projet
- Cliquez sur 'Installer'
Étape 3) Cliquez sur le bouton « OK » dans l'écran contextuel
Étape 4) Le message ci-dessous s'affichera une fois le package 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
Étape 2) Dans la fenêtre suivante
- Rechercher NUnit
- Sélectionnez le résultat de la recherche
- Sélectionnez un projet
- Cliquez sur Installer
Étape 3) La fenêtre contextuelle ci-dessous apparaîtra. Cliquez sur le bouton « OK ».
Étape 4) Le message ci-dessous apparaîtra une fois l'installation terminée.
É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,
- Rechercher NUnitTestAdapter
- Cliquez sur Résultat de la recherche
- Sélectionnez un projet
- Cliquez sur Installer
Étape 2) Cliquez sur OK dans la fenêtre contextuelle de confirmation. Une fois l'installation terminée, vous verrez le message suivant :
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
Étape 2) La fenêtre de création de classe apparaîtra.
- Donnez un nom à la classe
- Cliquez sur le bouton Ajouter
Étape 3) L'écran ci-dessous apparaîtra.
É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 »
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
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 ».
Étape 5) Une fois la construction réussie, nous devons ouvrir la fenêtre Test Explorer. Cliquez sur Test -> Windows -> Explorateur de tests
É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
É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.
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#.
- Commandes du navigateur
- Commandes des éléments Web
- 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:
- Accéder à la démo Guru99 pages web – https://demo.guru99.com/test/guru99home/
- Maximiser la fenêtre
- Cliquez sur le menu "Tests"
- 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:
- Accédez à la Guru99 pages de démonstration – https://demo.guru99.com/test/guru99home/
- Saisissez les données dans la zone de texte de l'e-mail
- 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:
- Accédez à la Guru99 pages de démonstration – https://demo.guru99.com/test/guru99home/
- Saisissez les données dans la zone de texte de l'e-mail
- 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:
- Accédez à la Guru99 pages de démonstration – https://demo.guru99.com/test/guru99home/
- Cliquez sur SAP lien
- Saisissez les données dans les zones de texte du nom et de l'e-mail
- Sélectionnez une valeur dans la liste déroulante Cours
- 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"); } } }
































