Tout et n'importe quoi ...(de préférence)

Blog de CLT-Services : vie de l'entreprise et infos pratiques

Automatisation des tests de recette des sites Web avec MbUnit, TestDriven.Net et WatiN

Sunday, 6 January 2008 15:57 by damien

J'avais pris l'habitude d'utiliser Selenium pour tester nos sites et j'ai récemment découvert WatiN, réécriture pour .NET de WatiR. Je le trouve beaucoup plus facile à mettre en oeuvre. Petite introduction rapide avec TestDriven et MbUnit.

Commencez par télécharger et installer WatiN. Ensuite, ajoutez à votre solution une bibliothèque de classe et ajoutez MbUnit.Framework et WatiN.Core aux références. (PS: ça marche aussi avec MsTest ou NUnit; cf la doc de WatiN sur les différents cas d'utilisation).

image

Créez une classe publique pour vos tests, référencez les assemblies qu'on vient d'ajouter et donnez lui l'attribut AppartementState pour éviter que MbUnit ne parallèlise les tests.

using System.Threading;
using WatiN.Core;
using MbUnit.Framework;

namespace Site.Tests
{
    [TestFixture(ApartmentState = ApartmentState.STA)]
    public class BaseTests
    {
    }
}

Ensuite, ajoutez à votre classe une méthode test comme suit : 

[Test]
public void CheckLoginPageRedirectsToHomePage()
{
    IE ie = new IE(@"http://localhost/Authentication.aspx");

    ie.TextField("ctl00_cphContenu_Login1_UserName").TypeText("testuser");
    ie.TextField("ctl00_cphContenu_Login1_Password").TypeText("testpass");

    ie.Button("ctl00_cphContenu_Login1_LoginButton").Click();

    Assert.AreEqual(@"http://localhost/", ie.Url);

    ie.Close();
}

Le code me semble assez transparent : on charge une page dans IE, on trouve un champ texte et on tape du texte dedans, idem pour le mot de passe, puis on clique sur le bouton "login" et on vérifie que l'on a bien été redirigé vers la page d'accueil.

Pour lancer le test il suffit de faire clic-droit | "run tests" dans le corps de la méthode (avec TestDriven.NET ; sinon, utilisez MbUnitGuiRunner).

image

Le test se déroule dans un IE visible; les éléments manipulé par WatiN apparaissent en jaune au fur et à mesure du déroulement.

image

Si tout va bien (pensez à changer le login/mot de passe), vous aurez ceci dans la fenêtre "sortie" de Visual Studio :

"1 passed, 0 failed, 0 skipped, took 10,96 seconds."

image

J'ai publié dans les articles un tutorial un peu plus étendu qui reprend ces éléments : http://www.clt-services.com/articles.html

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Related posts

Comments are closed

Search