Automatisation des tests d'applications Web à l'aide Sélénium une solution courante parmi les développeurs d'autotests, et C# l'un des langages de programmation les plus populaires, la combinaison de ces outils ne soulève donc aucune question. Pour développer à l'aide de ces technologies, des logiciels propriétaires populaires de Microsoft pour Windows sont souvent utilisés, mais je souhaitais savoir quels analogues gratuits peuvent être utilisés sans sortir de la pile Selenium + C# pour cette tâche.
Comme je n'ai trouvé aucun article en russe sur ce sujet, je partagerai mon expérience de mise en place d'un environnement pour développer et déboguer des autotests en C# sous Linux.
Le système d'exploitation utilisé était Kubuntu 18.04 64 bits avec le noyau Linux 4.15.0-99-generic, installé à partir d'une image ISO téléchargée depuis
La version 6.6.0.166 du compilateur Mono JIT a fait office de CLR pour C#. Son installation consistait à copier et exécuter séquentiellement des commandes dans le terminal (dans Kubuntu, il s'agit de Konsole) avec
Et utilisé comme IDE
Selenium prend en charge de nombreux navigateurs, mais j'étais trop paresseux pour m'occuper de tout et je me suis limité à Chromeoh, après avoir installé
Ensuite, nous créons une solution dans MonoDevelop :
- lancer MonoDevelop
- allez dans le menu "Fichier"
- sélectionnez « Créer une solution »
- cliquez sur « .NET »
- sélectionnez « Projet de bibliothèque NUnit » et cliquez sur « Suivant »
- indiquez le nom et le chemin de la solution, cliquez sur « Créer »
Pour contrôler le navigateur, vous aurez également besoin de quelques packages NuGet :
- allez dans le menu "Projet" et sélectionnez "Ajouter des packages NuGet"
- recherchez et installez le package Selenium.WebDriver
- recherchez et installez le package Selenium.WebDriver.ChromeDriver
C'est tout, il ne reste plus qu'à écrire du code pour vérifier que tout est configuré comme il se doit. Lors de la création d'une solution, un fichier de méthodes de test Test.cs est automatiquement créé, dans lequel je mets les quelques lignes de code suivantes :
using NUnit.Framework;
using System;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium;
namespace SeleniumTests
{
[TestFixture()]
public class Test
{
[Test()]
public void TestCase()
{
IWebDriver driver = new ChromeDriver();
driver.Navigate().GoToUrl("http://habr.com/");
Assert.IsTrue(driver.Url.Contains("habr.com"), "Что-то не так =(");
driver.Quit();
}
}
}
Le test se lance depuis l'onglet « Tests unitaires » ; s'il n'est pas affiché, allez dans le menu « Affichage » et sélectionnez « Test ».
Automatisation réussie =)
Source: habr.com