<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://dotnetumbria.org/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Fabrizio Bernabei</title><link>http://dotnetumbria.org/blogs/bernabei/default.aspx</link><description /><dc:language>it</dc:language><generator>CommunityServer 2008 (Build: 30417.1769)</generator><item><title>Work in progress aspettando il 2010</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/12/30/work-in-progress-aspettando-il-2010.aspx</link><pubDate>Wed, 30 Dec 2009 15:38:22 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:781</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=781</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=781</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/12/30/work-in-progress-aspettando-il-2010.aspx#comments</comments><description>&lt;p&gt;Manca poco all’&lt;a href="http://dotnetumbria.org/blogs/eventi/archive/2009/12/03/develop-reality-sviluppare-software-per-la-realta.aspx" target="_blank"&gt;evento&lt;/a&gt; e il “lavoro duro” per i preparativi va avanti…&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/IMG_5F00_0187_5F00_458F71D3.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="IMG_0187" border="0" alt="IMG_0187" src="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/IMG_5F00_0187_5F00_thumb_5F00_2859A3FC.jpg" width="184" height="244" /&gt;&lt;/a&gt; &lt;a href="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/IMG_5F00_0186_5F00_7F025BFD.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="IMG_0186" border="0" alt="IMG_0186" src="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/IMG_5F00_0186_5F00_thumb_5F00_36C47A54.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ci vediamo il 15 Gennaio. Nel frattempo:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000" size="7"&gt;BUON ANNO!&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=781" width="1" height="1"&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/evento/default.aspx">evento</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/microframework/default.aspx">microframework</category></item><item><title>Buon Natale</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/12/24/buon-natale.aspx</link><pubDate>Thu, 24 Dec 2009 13:54:00 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:780</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=780</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=780</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/12/24/buon-natale.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-large;"&gt;Che sia un Sereno Natale per tutti voi.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-large;"&gt;&lt;b&gt;&lt;span style="color:#ff0000;"&gt;Tanti Auguri!&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.aleviga.com/wp-content/merry_christmas.png" alt="Buon Natale" width="336" height="432" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=780" width="1" height="1"&gt;</description></item><item><title>Senza Parole…</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/10/26/senza-parole.aspx</link><pubDate>Mon, 26 Oct 2009 11:15:32 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:769</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=769</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=769</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/10/26/senza-parole.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/Community_5F00_Tour_5F00_DotNetUmbria_5F00_plain_5F00_01B9970D.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Community_Tour_DotNetUmbria_plain" border="0" alt="Community_Tour_DotNetUmbria_plain" src="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/Community_5F00_Tour_5F00_DotNetUmbria_5F00_plain_5F00_thumb_5F00_3A43F580.png" width="240" height="240" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/communitytourdnu_5F00_0E9F3D52.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="communitytourdnu" border="0" alt="communitytourdnu" src="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/communitytourdnu_5F00_thumb_5F00_2D658B63.png" width="200" height="200" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;img alt="Wink" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/wink_smile.gif" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=769" width="1" height="1"&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/evento/default.aspx">evento</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/community/default.aspx">community</category></item><item><title>Selenium e il test delle applicazioni WEB</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/09/04/selenium-e-il-test-delle-applicazioni-web.aspx</link><pubDate>Fri, 04 Sep 2009 13:38:12 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:762</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=762</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=762</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/09/04/selenium-e-il-test-delle-applicazioni-web.aspx#comments</comments><description>&lt;p&gt;In un post precedente, esattamente “&lt;a href="http://dotnetumbria.org/blogs/bernabei/archive/2009/06/26/test-automatizzato-delle-applicazioni-web-selenium-o-watin.aspx" target="_blank"&gt;Test automatizzato delle applicazioni WEB: Selenium o WatiN?&lt;/a&gt;”, parlavo in modo introduttivo di due framework per automatizzare il testing delle applicazioni WEB.&lt;/p&gt;  &lt;p&gt;Recentemente al &lt;a href="http://www.innovactive.it" target="_blank"&gt;lavoro&lt;/a&gt; abbiamo avuto la necessità di realizzare effettivamente dei test “sulla UI” di un sito WEB e per questo abbiamo utilizzato &lt;a href="http://www.selenium.org" target="_blank"&gt;Selenium&lt;/a&gt;, uno dei due strumenti menzionati nel post.&lt;/p&gt;  &lt;p&gt;Da qui è nato un altro post introduttivo sul sito aziendale InnovActive dal titolo “&lt;a href="http://www.innovactive.it/post/2009/09/04/Test-della-UI-di-una-applicazione-con-Selenium.aspx" target="_blank"&gt;Test della UI di una applicazione con Selenium&lt;/a&gt;” che illustra brevemente come creare uno script di test utilizzando Selenium IDE. In allegato al post se vi interessa è possibile scaricare i sorgenti del progetto WEB utilizzato come esempio nell’articolo e gli script generati dall’IDE.&lt;/p&gt;  &lt;p&gt;Alla prossima &lt;img style="border-right-width:0px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" border="0" alt="Wave" src="http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/103.gif" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=762" width="1" height="1"&gt;</description></item><item><title>Windows 7 running…</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/08/07/windows-7-running.aspx</link><pubDate>Fri, 07 Aug 2009 08:47:54 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:759</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=759</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=759</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/08/07/windows-7-running.aspx#comments</comments><description>&lt;p&gt;Da ieri sera su MSDN è disponibile la versione finale di Windows 7. &lt;/p&gt;  &lt;p&gt;   &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:left;padding-top:0px;" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:62beb701-df19-4133-9bf9-f149f49a561f" class="wlWriterEditableSmartContent"&gt;&lt;a href="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/win7_5F00_min8x6_5F00_04836D88.png" title="" rel="thumbnail"&gt;&lt;img border="0" src="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/win7_5F00_min_5F00_15D382C6.png" alt="" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;La notte oltre a portare consiglio, ha portato a termine il download della versione Ultimate che ho prontamente installato per i primi test su una macchina virtuale. &lt;/p&gt;  &lt;p&gt;Nonostante la macchina virtuale sia configurata con un solo GB di RAM, dopo un primo “giro” con le applicazioni di default Seven non sembra soffrirne più di tanto.&lt;/p&gt;  &lt;p&gt;Un altro “giocattolino” con cui giocare nei prossimi giorni (ma non è il solo, vedi &lt;a href="http://www.flickr.com/photos/bernabei/3794559217/" target="_blank"&gt;QUI il Leopardo&lt;/a&gt;&amp;#160;&lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;)!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Buone vacanze!!!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=759" width="1" height="1"&gt;</description></item><item><title>Test automatizzato delle applicazioni WEB: Selenium o WatiN?</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/06/26/test-automatizzato-delle-applicazioni-web-selenium-o-watin.aspx</link><pubDate>Fri, 26 Jun 2009 11:13:59 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:750</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=750</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=750</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/06/26/test-automatizzato-delle-applicazioni-web-selenium-o-watin.aspx#comments</comments><description>&lt;p&gt;Ci sono casi in cui nello sviluppo di una applicazione WEB si rende necessario (o perlomeno è una comodità in più) poter effettuare test di alto livello direttamente sulla UI stessa, magari perché si deve fare refactoring su un prodotto esistente e in un primo momento è necessario avere uno strumento che “garantisca” che le macro-funzionalità continuino a funzionare, oppure per testare (e poter ripetere nel tempo) il comportamento della UI in diversi ambienti.&lt;/p&gt;  &lt;p&gt;Per tutte queste cose esistono soluzioni specifiche (alcune che coprono diverse esigenze, altre un sottoinsieme perché per esempio non sono in grado di operare con tutti i browser) che permettono di definire dei test in grado di interagire con le pagine dell’applicazione web come farebbe un utente vero e proprio, cioè cliccando su link e bottoni e “navigando” l’applicazione in maniera completamente automatizzata.&lt;/p&gt;  &lt;p&gt;In precedenza ho usato con soddisfazione &lt;a href="http://watin.sourceforge.net/" target="_blank"&gt;WatiN&lt;/a&gt; che in sostanza è uno dei framework/strumenti che permette di eseguire test “pilotando” l’applicazione web direttamente da codice C#. In sostanza si tratta di una libreria che mette a disposizione un insieme di classi che permettono di aprire il web browser, navigare su uno specifico indirizzo, verificare quando la pagina è caricata, verificare che contenga determinati elementi ed interagire con essi sotto forma di oggetti utilizzabili da codice. Il vantaggio di tutto questo poi è la possibilità di automatizzare queste operazioni ed includere in un test (fatto col nostro framework preferito) per eseguirlo quando necessario: ma uno snippet di codice vale più di mille parole &lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;&lt;/p&gt;  &lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;   &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;     &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; [Test]&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; SearchForWatiNOnGoogle()&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (IE ie = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; IE(&lt;span style="color:#006080;"&gt;&amp;quot;http://www.google.com&amp;quot;&lt;/span&gt;))&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt;  {&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;   ie.TextField(Find.ByName(&lt;span style="color:#006080;"&gt;&amp;quot;q&amp;quot;&lt;/span&gt;)).TypeText(&lt;span style="color:#006080;"&gt;&amp;quot;WatiN&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;   ie.Button(Find.ByName(&lt;span style="color:#006080;"&gt;&amp;quot;btnG&amp;quot;&lt;/span&gt;)).Click();&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;   Assert.IsTrue(ie.ContainsText(&lt;span style="color:#006080;"&gt;&amp;quot;WatiN&amp;quot;&lt;/span&gt;));&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;  }&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt; } &lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;In questo periodo ho l’esigenza di mettere insieme dei test su un’applicazione WEB su cui sto lavorando e avrei potuto riutilizzare direttamente questo prodotto, ma incuriosito da una &lt;a href="http://tech.groups.yahoo.com/group/ugialtnet/message/2059" target="_blank"&gt;discussione di qualche tempo fa su UGIALT.net&lt;/a&gt; ho deciso di dare un’occhiata a &lt;a href="http://seleniumhq.org" target="_blank"&gt;Selenium&lt;/a&gt; che sulla carta è forse ancor più potente di WatiN e dispone dii strumenti evoluti per il suo utilizzo. Si descrive infatti come (testualmente dal sito web) “&lt;strong&gt;Selenium is a suite of tools&lt;/strong&gt; to automate web app testing across many platforms”, un insieme di strumenti per automatizzare il testing di applicazioni web su diverse piattaforme. Vediamo un po’ di cosa si tratta…&lt;/p&gt;

&lt;p&gt;Il primo tool da provare è sicuramente &lt;a href="http://seleniumhq.org/projects/ide/" target="_blank"&gt;Selenium IDE&lt;/a&gt;, un ambiente autonomo per la scrittura, l’esecuzione, la registrazione ed il debug di test realizzato sotto forma di plug-in per FireFox. Con questo strumento è possibile registrare una sessione di navigazione e rimandarla in esecuzione in modo del tutto automatico, o addirittura eseguire passo-passo i comandi registrati “ammirando” quello che succede nella finestra del browser. Ovviamente è possibile modificare, aggiungere o rimuovere comandi allo script sia attraverso l’interfaccia visuale (in sostanza una griglia dove ad ogni riga corrisponde un’azione a sua volta definibile come “&lt;em&gt;comando da eseguire-elemento da utilizzare-valore da utilizzare&lt;/em&gt;”) sia attraverso il sorgente vero e proprio dello script. In merito a questo ultimo punto va specificato che lo script è rappresentabile in diversi linguaggi; per default l’IDE usa un banale HTML con al suo interno un elemento &amp;lt;TABLE&amp;gt; dove le righe contenute rappresentano i comandi da esguire. Dal menu Opzioni è poi possibile scegliere la visualizzazione dello script con un altro linguaggio (fra gli altri: C#, Java, PHP, Ruby) e anche modificare direttamente dall’editor il comportamento del test.&lt;/p&gt;

&lt;p&gt;A titolo di esempio lo stesso test visto prima per WatiN si traduce in Selenium (facendo uso solo dell’IDE con la registrazione automatica e riportando solamente il codice “saliente”) in:&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; [Test]&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; TheUntitledTest()&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;     selenium.Open(&lt;span style="color:#006080;"&gt;&amp;quot;http://www.google.com/&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt;     selenium.Type(&lt;span style="color:#006080;"&gt;&amp;quot;q&amp;quot;&lt;/span&gt;, &lt;span style="color:#006080;"&gt;&amp;quot;selenium&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;     selenium.Click(&lt;span style="color:#006080;"&gt;&amp;quot;btnG&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;     selenium.WaitForPageToLoad(&lt;span style="color:#006080;"&gt;&amp;quot;30000&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;     {&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;         Assert.IsTrue(selenium.IsTextPresent(&lt;span style="color:#006080;"&gt;&amp;quot;Selenium&amp;quot;&lt;/span&gt;));&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;     }&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (AssertionException e)&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;     {&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;         verificationErrors.Append(e.Message);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt;     }&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt; }&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;che nella sua incarnazione in HTML diventa&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;open&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;www.google.com&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;type&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;q&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;selenium&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;clickAndWait&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;btnG&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  17:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;verifyTextPresent&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  18:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;Selenium&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  19:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  20:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Ovviamente questa è solamente la punta dell’iceberg; ci sono ancora da vedere molte cose interessanti, a partire dagli altri strumenti ed in primis &lt;a href="http://seleniumhq.org/projects/remote-control/" target="_blank"&gt;Selenium RC&lt;/a&gt; che permette di pilotare i test dal nostro codice e tanto altro ancora.&lt;/p&gt;

&lt;p&gt;Per ora come introduzione penso possa bastare ma nei prossimi giorni, di pari passo con l’esplorazione più approfondita del framework, aspettatevi nuovi post con approfondimenti ed un po’ di codice in più. &lt;img alt="Wink" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/wink_smile.gif" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=750" width="1" height="1"&gt;</description></item><item><title>Evento DotNetUmbria Visual Studio Team System. Promosso a pieni voti!</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/06/22/evento-dotnetumbria-visual-studio-team-system-promosso-a-pieni-voti.aspx</link><pubDate>Mon, 22 Jun 2009 09:38:15 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:748</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=748</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=748</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/06/22/evento-dotnetumbria-visual-studio-team-system-promosso-a-pieni-voti.aspx#comments</comments><description>&lt;p&gt;Complice un fine settimana fuori e qualche bizza del server DNU risolta da poco (grazie &lt;a href="http://dotnetumbria.org/members/Paolo-Possanzini/default.aspx" target="_blank"&gt;Paolo&lt;/a&gt; &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;) scrivo con qualche giorno di ritardo dell’&lt;a href="http://dotnetumbria.org/blogs/eventi/archive/2009/05/25/workshop-su-vsts-a-perugia.aspx" target="_blank"&gt;evento&lt;/a&gt; tenutosi venerdì scorso a Perugia.&lt;/p&gt;  &lt;p&gt;Per prima cosa un ringraziamento e tanti complimenti a &lt;a href="http://www.geniodelmale.info/archive/2009/06/20/grazie-again.aspx" target="_blank"&gt;Lorenzo&lt;/a&gt; che ha tenuta alta l’attenzione per tutto il pomeriggio in modo magistrale, nonostante il “pranzetto” non indifferente che ci siamo fatti “&lt;a href="http://www.vinix.it/recensioni_detail.php?ID=518" target="_blank"&gt;Dal mi’ cocco&lt;/a&gt;” pochi minuti prima dell’inizio! Il resto della comitiva era rappresentato dal “senoncifosselui” &lt;a href="http://dotnetumbria.org/members/Andrea-Cruciani/default.aspx" target="_blank"&gt;Andrea&lt;/a&gt; e da &lt;a href="http://dotnetumbria.org/members/pomarc/default.aspx" target="_blank"&gt;&amp;quot;Gastone&amp;quot; Marco&lt;/a&gt; (che anche questa volta si è portato a casa il premio a estrazione).&lt;/p&gt;  &lt;p&gt;Poi una nota sulla nuova location inaugurata per questo evento; un ringraziamento a Confindustria che ci ha messo a disposizione una sala molto accogliente ed idonea per questo e magari per i prossimi eventi.&lt;/p&gt;  &lt;p&gt;Per concludere un saluto a &lt;a href="http://blogs.ugidotnet.org/j3r/archive/2009/06/21/workshop-dotnetumbria-su-visual-studio-team-system.aspx" target="_blank"&gt;Matteo Emili&lt;/a&gt; che ho conosciuto di persona e ho scoperto essere un “seguace” di Lorenzo: ormai conosce VSTS quanto lui o quasi &lt;img alt="Tongue out" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/tongue_smile.gif" /&gt;.&lt;/p&gt;  &lt;p&gt;Per concludere un saluto a tutti i partecipanti che mi sono sembrati interessati come non mai agli argomenti trattati. In conclusione posso dire: evento promosso a pieni voti, ora al lavoro per quelli futuri!!!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=748" width="1" height="1"&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/evento/default.aspx">evento</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/community/default.aspx">community</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/amici/default.aspx">amici</category></item><item><title>Nuovo evento, nuovo ospite. E’ la volta di VS Team System!</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/06/12/nuovo-evento-nuovo-ospite-e-la-volta-di-vs-team-system.aspx</link><pubDate>Fri, 12 Jun 2009 11:02:27 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:741</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=741</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=741</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/06/12/nuovo-evento-nuovo-ospite-e-la-volta-di-vs-team-system.aspx#comments</comments><description>&lt;p&gt;Fra una settimana esatta è in programma un nuovo appuntamento organizzato da DotNetUmbria. Questa volta si parlerà di &lt;a href="http://msdn.microsoft.com/it-it/vsts2008/products/default.aspx" target="_blank"&gt;Visual Studio Team System&lt;/a&gt; e a farlo sarà un ospite graditissimo oltre che preparatissimo come &lt;a href="http://geniodelmale.info/" target="_blank"&gt;Lorenzo Barbieri&lt;/a&gt; (Developer Evangelist Microsoft Italia).&lt;/p&gt;  &lt;p&gt;Riporto brevemente l’agenda sintetica dell’evento che trovate in forma più dettagliata nell’apposita pagina &lt;a href="http://dotnetumbria.org/blogs/eventi/archive/2009/05/25/workshop-su-vsts-a-perugia.aspx" target="_blank"&gt;qui&lt;/a&gt;:    &lt;br /&gt;15.00 - 15.30 Introduzione a VSTS e TFS 2008 e 2010    &lt;br /&gt;15.30 - 16.45 Introdurre TFS nella piccola azienda    &lt;br /&gt;16.45 - 18.00 Profilazione, analisi, ottimizzazione del codice con VSTS Development Edition&lt;/p&gt;  &lt;p&gt;Ci sono ancora alcuni posti disponibili per chi volesse partecipare. La pagina per la registrazione la trovate all’indirizzo: &lt;a title="http://dotnetumbria.org/eventi/Default.aspx?IdEvento=9" href="http://dotnetumbria.org/eventi/Default.aspx?IdEvento=9"&gt;http://dotnetumbria.org/eventi/Default.aspx?IdEvento=9&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Inoltre si pensava di fermarci per un aperitivo/cena per concludere la serata insieme a Lorenzo. Per chi fosse interessato pregherei di segnalare l’adesione lasciando una risposta sull’appopsita discussione del nostro forum: &lt;a title="http://dotnetumbria.org/forums/p/373/740.aspx#740" href="http://dotnetumbria.org/forums/p/373/740.aspx#740" target="_blank"&gt;http://dotnetumbria.org/forums/p/373/740.aspx#740&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=741" width="1" height="1"&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/evento/default.aspx">evento</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/community/default.aspx">community</category></item><item><title>[OT] Bug non riproducibile</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/05/26/ot-bug-non-riproducibile.aspx</link><pubDate>Tue, 26 May 2009 15:38:59 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:738</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=738</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=738</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/05/26/ot-bug-non-riproducibile.aspx#comments</comments><description>&lt;p&gt;Questa vignetta è semplicemente SPETTACOLARE! &lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://imgs.xkcd.com/comics/cnr.png" alt="" /&gt; &lt;/p&gt;  &lt;p&gt;Fonte: &lt;a href="http://xkcd.com/583/" target="_blank"&gt;xkcd&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=738" width="1" height="1"&gt;</description></item><item><title>IE8 e asp:menu. Pace fatta :)</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/27/ie8-e-asp-menu-pace-fatta.aspx</link><pubDate>Fri, 27 Mar 2009 12:11:41 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:714</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=714</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=714</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/27/ie8-e-asp-menu-pace-fatta.aspx#comments</comments><description>&lt;p&gt;Dopo il rilascio di Internet Explorer 8 &lt;a href="http://blogs.ugidotnet.org/marcom/archive/2009/03/20/primi-problemi-per-internet-explorer-8.aspx" target="_blank"&gt;qualcuno avrà notato&lt;/a&gt; che il controllo &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.menu.aspx" target="_blank"&gt;Menu&lt;/a&gt; di ASP.NET ha qualche problemino di rendering sul nuovo browser.&lt;/p&gt;  &lt;p&gt;Per correggere il problema è stato rilasciato un fix. Per ulteriori informazioni vedere direttamente alla &lt;a href="http://weblogs.asp.net/bleroy/archive/2009/03/23/asp-menu-fix-for-ie8-problem-available.aspx" target="_blank"&gt;fonte (Bertrand Le&amp;#160; Roy)&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=714" width="1" height="1"&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Evento ASP.NET MVC. Aperte le iscrizioni!</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/24/evento-asp-net-mvc-aperte-le-iscrizioni.aspx</link><pubDate>Tue, 24 Mar 2009 14:19:11 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:711</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=711</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=711</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/24/evento-asp-net-mvc-aperte-le-iscrizioni.aspx#comments</comments><description>&lt;p&gt;Sono stati definiti gli ultimi dettagli per il &lt;a href="http://dotnetumbria.org/blogs/eventi/archive/2009/02/27/workshop-asp-net-mvc.aspx" target="_blank"&gt;Workshop Asp.Net MVC&lt;/a&gt; del prossimo 3 Aprile in cui &lt;a href="http://blogs.ugidotnet.org/piyo" target="_blank"&gt;Simone&lt;/a&gt; parlerà approfonditamente del &lt;a href="http://www.asp.net/mvc/" target="_blank"&gt;nuovo framework&lt;/a&gt; recentemente rilasciato in versione definitiva.&lt;/p&gt;  &lt;p&gt;Il workshop si terrà all’&lt;a href="http://www.hotelgio.it/" target="_blank"&gt;Hotel Giò&lt;/a&gt; di Perugia quindi comodo per tutti i i “dotnettiani” del centro-italia e non solo.&lt;/p&gt;  &lt;p&gt;Ora sotto con la &lt;strong&gt;&lt;a href="http://dotnetumbria.org/eventi/Default.aspx?IdEvento=6" target="_blank"&gt;registrazione&lt;/a&gt;&lt;/strong&gt;! Ci vediamo il 3 Aprile.&lt;/p&gt;  &lt;p&gt;P.S.: Grazie Andrea per la &lt;a href="http://dotnetumbria.org/blogs/cruciani/archive/2009/03/23/nuovo-modulo-registrazioni.aspx" target="_blank"&gt;segnalazione&lt;/a&gt; &lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;. Diciamo che per il momento questa versione alfa può andar bene ma c’è ancora da lavorare.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=711" width="1" height="1"&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/evento/default.aspx">evento</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category></item><item><title>Disponibile anche Silverlight 3 Beta 1</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/18/disponibile-anche-silverlight-3-beta-1.aspx</link><pubDate>Wed, 18 Mar 2009 14:24:06 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:708</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=708</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=708</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/18/disponibile-anche-silverlight-3-beta-1.aspx#comments</comments><description>&lt;p&gt;Visto che oggi è giornata di annunci e nuovi download, dopo il &lt;a href="http://dotnetumbria.org/blogs/bernabei/archive/2009/03/18/asp-net-mvc-rtm.aspx" target="_blank"&gt;post su ASP.NET MVC 1.0&lt;/a&gt; ora è la volta di Silverlight 3.0 Beta 1.&lt;/p&gt;  &lt;p&gt;Ecco tutto lo “scaricabile”:&lt;/p&gt;  &lt;p&gt;Microsoft® Silverlight™ 3 SDK Beta 1 &lt;a title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d09b6ecf-9a45-4d99-b752-2a330a937bc4" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d09b6ecf-9a45-4d99-b752-2a330a937bc4"&gt;download&lt;/a&gt;    &lt;br /&gt;Microsoft® Silverlight™ 3 Tools Beta 1 for Visual Studio 2008 SP1: &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=11dc7151-dbd6-4e39-878f-5081863cbb5d" target="_blank"&gt;download&lt;/a&gt;    &lt;br /&gt;Microsoft® Silverlight™ 3 Beta 1 Documentation: &lt;a href="http://msdn.microsoft.com/en-us/library/cc838158(vs.96).aspx" target="_blank"&gt;download&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=708" width="1" height="1"&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>ASP.NET MVC RTM!</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/18/asp-net-mvc-rtm.aspx</link><pubDate>Wed, 18 Mar 2009 13:46:05 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:706</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=706</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=706</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/18/asp-net-mvc-rtm.aspx#comments</comments><description>&lt;p&gt;Segnalato direttamente da &lt;a href="http://blogs.ugidotnet.org/piyo/archive/2009/03/18/w00t-asp.net-mvc-goes-rtm.aspx" target="_blank"&gt;Simone Chiaretta&lt;/a&gt;, è da poco &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b" target="_blank"&gt;scaricabile&lt;/a&gt; la versione finale di &lt;a href="http://www.asp.net/mvc/" target="_blank"&gt;ASP.NET MVC&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In attesa del &lt;a href="http://dotnetumbria.org/blogs/eventi/archive/2009/02/27/workshop-asp-net-mvc.aspx" target="_blank"&gt;prossimo evento&lt;/a&gt; in cui proprio Simone, autore del libro &lt;a href="http://www.amazon.co.uk/Beginning-ASP-NET-MVC-Simone-Chiaretta/dp/047043399X" target="_blank"&gt;Beginning ASP.NET MVC&lt;/a&gt; verrà a trovarci per parlare in lungo ed in largo del nuovo framework, vale la pena effettuare il download e iniziare a dare un’occhiata.&lt;/p&gt;  &lt;p&gt;Vado a scaricare… &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=706" width="1" height="1"&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/evento/default.aspx">evento</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category></item><item><title>Silverlight &amp; WPF: tempo di concorsi</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2008/12/24/silverlight-amp-wpf-tempo-di-concorsi.aspx</link><pubDate>Wed, 24 Dec 2008 11:33:26 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:667</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=667</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=667</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2008/12/24/silverlight-amp-wpf-tempo-di-concorsi.aspx#comments</comments><description>&lt;p&gt;Sembra proprio che Natale sia periodo di panettoni, regali e… concorsi.&lt;/p&gt;  &lt;p&gt;In questi giorni per chi vuole cimentarsi e mettersi alla prova nella scrittura di applicazioni/articoli sulle tecnologie Microsoft basate su XAML troverà pane per i suoi denti. Ecco infatti due interessanti iniziative:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.silverlightshow.net/news/Silverlight-Write-and-Win-contest-Christmas-Edition.aspx" target="_blank"&gt;Write and Win! contest – Christmas Edition&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://www.silverlightshow.net/" target="_blank"&gt;SilverlightShow&lt;/a&gt; è uno dei portali di riferimento per lo sviluppo con Silverlight. Fino al 31 Gennaio chi volesse cimentarsi nella realizzazione di “qualsiasi cosa” in Silverlight e scriverci poi un articolo, può farlo e rischia di vincere premi interessanti sotto forma di licenze software e buoni acquisto su Amazon.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://2009.visitmix.com/MIXtify/TenKGallery.aspx" target="_blank"&gt;Inspire the world with just 10K&lt;/a&gt;       &lt;br /&gt;Questo invece è una vera e propria sfida d’altri tempi! Lo scopo e realizzare un’applicazione il cui codice sia complessivamente minore di 10k. Ai nostalgici ricorderà sicuramente gli albori della programmazione in DOS quando la lotta sul filo dei bit era all’ordine del giorno &lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;. In questo caso il contest è sponsorizzato da &lt;a href="http://2009.visitmix.com/Default.aspx" target="_blank"&gt;MIX 09&lt;/a&gt; (l’evento MS che si terra a Marzo 09 a Las Vegas incentrato sullo sviluppo WEB) ed in palio ci sono accessi all’evento, carte visa con dollari da spendere a piacere &lt;img alt="Surprised" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/omg_smile.gif" /&gt; e altro. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Ora non rimane che rimboccarsi le maniche e scrivere qualche riga di codice fra un panettone ed un bicchiere di spumante!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=667" width="1" height="1"&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/RIA/default.aspx">RIA</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/WPF/default.aspx">WPF</category></item><item><title>Merry Christmas and Happy New Year</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2008/12/23/merry-christmas-and-happy-new-year.aspx</link><pubDate>Tue, 23 Dec 2008 15:19:00 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:664</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=664</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=664</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2008/12/23/merry-christmas-and-happy-new-year.aspx#comments</comments><description>&lt;div&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:8490d761-900f-4492-99d9-e1d989c2a38b" style="padding-right:0px;display:inline;padding-left:0px;float:left;padding-bottom:0px;margin-left:0px;margin-right:0px;padding-top:0px;"&gt;&lt;a target="_blank" href="http://elfyourself.jibjab.com/view/kUzEcuqsdM6aM3q8" title="Gli speakers InnovActive" rel="thumbnail"&gt;&lt;img src="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/natale2_5F00_6FCEB101.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;   &lt;br /&gt;Auguro a tutti un Felice Natale e un Sereno Anno Nuovo!&lt;/p&gt;
&lt;p&gt;Per allietare (si fa per dire &lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;) questi giorni di festa ecco a voi la nostra performance da elfi. Non c&amp;rsquo;&amp;egrave; che dire, sicuramente meglio in questa veste che in quella di sviluppatori!&lt;/p&gt;
&lt;p&gt;Per guardare il filmato in tutta la sua splendida bellezza basta cliccare &lt;a href="http://elfyourself.jibjab.com/view/kUzEcuqsdM6aM3q8" target="_blank"&gt;qui (http://elfyourself.jibjab.com/view/kUzEcuqsdM6aM3q8#)&lt;/a&gt; e godersi lo spettacolo!     &lt;br /&gt;Ma affrettatevi perch&amp;eacute; il video resta disponibile solo fino al 15 Gennaio 2009, a meno che qualcuno non proprio a posto con la capoccia voglia finanziare con una donazione l&amp;rsquo;acquisto per circa 4&amp;euro; &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;span style="color:#ff0000;"&gt;Buon Natale e Felice Anno Nuovo!&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;P.S.: Come buon proposito per il 2009 spero di scrivere qualche post pi&amp;ugrave; interessante per la community, lo prometto!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="clear:both;"&gt;-&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=664" width="1" height="1"&gt;</description></item></channel></rss>