Comment trouver des éléments avec Selenium WebDriver 3?

Nous allons ouvrir notre test que nous avons créé dans Visual Studio dans le premier tutoriel :

[TestFixture ]
public class AutomationCore  
{
    IWebDriver driver;

    [TestFixtureSetUp]
    public void startTest () 
    {
        driver = new ChromeDriver();  
        driver.Url = "http://blog.testproject.io/";  
    }

    [TestFixtureTearDown]
    public void endtest() 
    {
        driver.Quit ();
    }

    [Test]
    public void blogTest() 
    {
        Assert.IsTrue (Pages.contactUs.isAt());
    }
}

La recherche d'éléments sur une page Web avant d'interagir avec elle peut être effectuée sur l'instance WebDriver (pilote) elle-même ou sur un WebElement. WebDriver nous donne les méthodes Find Element et Find Elements pour rechercher des éléments sur la page Web.

Afin d'atteindre l'élément, nous le trouverons d'abord via Selenium avec la fonction FindElement qui reçoit la méthode avec laquelle nous choisirons de trouver l'élément.

Notre exemple se concentrera sur le champ: «Votre nom». Étant donné que nous sommes prêts à effectuer une certaine action sur cet élément, l'élément sera trouvé via Chrome comme nous l'avons appris dans le tutoriel précédent : Copiez la valeur de l'attribut - 'Nom'.

La commande finale:

driver.FindElement (By.Name ("votre-nom"))

Après avoir trouvé l'élément avec Selenium, nous sommes en mesure d'effectuer diverses actions dessus. Dans notre cas, nous enverrons du texte sur le terrain. Ainsi, nous choisirons la fonction: SendKeys, comme indiqué dans l'exemple ci-dessous:

[TestFixture]
public class AutomationCore
{
    IWebDriver driver;
    [TestFixtureSetUp]
    public void startTest()
    {
        driver = new ChromeDriver();
        driver.Url = "http://blog.testproject.io/";
    }
    [TestFixtureTearDown]
    public void endtest()
    {
        driver.Quit();
    }
    [Test]
    public void blogTest()
    {
        Assert.IsTrue(Pages.contactUs.isAt());
        driver.FindElement(By.Name("your-name")).SendKeys("Test");
    }
}

FindElement est le moyen le plus simple de rechercher des éléments, bien que cela ne soit pas très pratique pour la maintenance du code. En supposant qu'il y ait des centaines de tests utilisant tous le même sélecteur et au cas où un jour, le sélecteur changerait, nous devrons parcourir chaque ligne de code et le changer. Pour résoudre ce problème, il est recommandé de créer le framework d'automatisation des tests en implémentant le modèle d'objet de page.


Je suis curieux de voir ce que vous en pensez, laissez vos questions et réflexions!


Rejoindre la conversation