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

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. More...

Be the first to rate this post

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

DesignerCategory

Lorsque vous implémentez une classe dérivant d’un composant, Visual Studio affiche souvent le concepteur visuel alors que vous préférez la vue code ? Un micro-tip pour forcer l’éditeur par défaut : mettez l’attribut « DesignerCategory » sur votre classe

[System.ComponentModel.DesignerCategory("code")]

public class MonPanelAMoi : System.Windows.Forms.Panel

{

#region mes propriétés

// … eluded for clarity

#endregion

}

Be the first to rate this post

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

Enlever les accents dans une chaîne (proprement)

Super technique, trouvée par un client, pour supprimer les diacritiques dans les chaines de caracteres.

(Maintenant ce sont les clients qui m'apprennent des trucs !)

Il suffit de s'appuyer sur la page de code 1251 dans lequel les caracteres diacritiques sont codés sur 2 octets, avec un octet pour le caractere de base et un octet pour la variante ( e -> e, é, e, e, ë ...)

En repassant en ascii, on ne garde que le caractere de base :

public string RemoveDiacritics(string text)

{

  return System.Text.Encoding.ASCII.GetString(System.Text.Encoding.GetEncoding(1251).GetBytes(text));

}

 

Mots clés Technorati : , ,

Be the first to rate this post

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

Convertir le jeu de caractères d'une page web téléchargée

Suite a mon précédent post sur l'extraction des liens dans une page, je me suis penché sur le probleme de gérer les différents encodages des pages analysées. Voici un snippet de code pour convertir dans un jeu de caractere choisi les données de la page, en tenant compte du codepage du site.

private string DownloadWebPage(string uri, System.Text.Encoding targetCodePage)

{

   WebClient client = new WebClient();

   System.Text.Encoding source;

   byte[] pageData = client.DownloadData(uri);

   string contentType = client.ResponseHeaders["content-type"];

   Regex re = new Regex(";.*charset=(?.*)", RegexOptions.IgnoreCase);

   Match match = re.Match(contentType);

   if (match.Success)

     source = Encoding.GetEncoding(match.Groups["codepage"].Value);

   else

     source = client.Encoding;

   byte[] localData;

   if (targetCodePage.Equals(source))

     localData = pageData;

   else

     localData = System.Text.Encoding.Convert(source, targetCodePage, pageData);

   return targetCodePage.GetString(localData);

}

Be the first to rate this post

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

Extraire les liens d'une page web en 4 lignes de code

Petit exemple d'utilisation des expressions régulieres pour extraire les liens d'une page web. Le principe c'est de trouver toutes les séquence <a href=....>...</a>.
L'intéret de l'exemple (qui inclut aussi le téléchargement de la page) c'est de montrer l'utilisation des expressions de remplacement nommées pour extraire des parties de la séquence trouvée (ici l'url et le texte du lien).

private string ExtractLinksInWebPage(string uri)

{

  StringBuilder results = new StringBuilder();

  WebClient client = new WebClient();

  string pageText = client.DownloadString(uri);

  Regex re = new Regex("\\[^\"']*)[\"'].*\\>(?.*)\\", RegexOptions.IgnoreCase);

  MatchCollection matches = re.Matches(pageText);

  foreach (Match match in matches)

    results.AppendLine(match.Groups["url"].Value + " => " + match.Groups["text"].Value);

  return results.ToString();

}

Exemple avec ce blog:

http://blog.expert-aspnet.fr/ => Quelques trucs que je connais en ASP.Net

#main => Aller au contenu

#blognav => Aller au menu

#search => Aller A la recherche

http://blog.expert-aspnet.fr/category/Visual-Studio => Visual Studio

http://blog.expert-aspnet.fr/tag/regexp => regexp

http://blog.expert-aspnet.fr/post/regexp-extraction-liens-page-web.html#comments => aucun commentaire

http://blog.expert-aspnet.fr/post/regexp-extraction-liens-page-web.html#pings => aucun rA©trolien

http://blog.expert-aspnet.fr/category/Les-bases => Les bases

http://blog.expert-aspnet.fr/post/expressions_resources_globales_markup_aspx.html#comments => aucun commentaire

...

http://blog.expert-aspnet.fr/tags => Tous les tags

http://www.clt-services.com => CLT-Services

http://blog.expert-sql.fr => Blog SQL Server

http://blog.expert-aspnet.fr/archive => Archives/legalnotice => Informations lA©gales

Be the first to rate this post

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