Tags: , , | Posted by AlexanderZeitler on 9/28/2006 10:46 AM | Comments (0)

Microsoft hat gestern eine neue Version des Sample Code Generators veröffentlicht.

Der Sample Code Generator erzeugt ausgehend von einem XSD-File Beispiel-Code für C# und VB.NET, der zeigt, wie Klassen gestaltet sein müssen, um nach der Serializierung durch den XML-Serializer wieder das ursprüngliche XSD-File zu erhalten.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , | Posted by AlexanderZeitler on 9/27/2006 9:28 AM | Comments (0)

Tom Archer hat in seinem Blog eine Kompatibilitäts-Matrix veröffentlicht, die zeigt, welche Releases von Windows Vista, .NET Framework 3.0 und Windows SDK zusammen funktionieren - oder auch nicht.

In jedem Fall sehr nützlich.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , | Posted by AlexanderZeitler on 9/27/2006 9:04 AM | Comments (0)

Bei http://connect.microsoft.com sind die Betas für die ersten Service Packs von Visual Studio 2005 und Team Foundation Server verfügbar.

Details zum Visual Studio 2005 SP1 gibt es bei S. Somasegar.

Details zum TFS SP1 gibts bei Brian Harry, dem TFS Product Unit Manager.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: | Categories: German Posted by AlexanderZeitler on 9/27/2006 6:34 AM | Comments (0)

Seit gestern ist der patterns & practices Guidance Explorer auch als Web Client verfügbar. Außerdem wurde Build 20060922 des Guidance Explorers released, wobei es sich hier überwiegend um ein Bugfix Release handelt.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , | Posted by AlexanderZeitler on 9/24/2006 9:12 PM | Comments (0)

Da die CohoWinery.sql für die Service Factory Hands On Labs fehlerhaft war, hat Chris Kinsman eine fehlerbereinigte Version in seinem Blog veröffentlicht.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , | Posted by AlexanderZeitler on 9/23/2006 2:12 PM | Comments (0)

Jelle Druyts hat eine Artikel-Serie zur Einführung in das Guidance Automation Toolkit in seinem Blog veröffentlicht:

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , , , , | Posted by AlexanderZeitler on 9/23/2006 1:59 PM | Comments (0)

Microsoft hat gestern folgende .NET Framework 3.0 Releases veröffentlicht:

Microsoft Pre-Release Software Microsoft .NET Framework 3.0 - September CTP

Microsoft Visual Studio Code Name “Orcas” Community Technology Preview – Development Tools for .NET Framework 3.0

Microsoft® Visual Studio® 2005 Extensions for Windows® Workflow Foundation Release Candidate 5

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , , | Posted by AlexanderZeitler on 9/21/2006 1:34 PM | Comments (0)

Microsoft hat gestern das Microsoft InteropForms Toolkit 1.0 sowie die Microsoft PrintForm Component 1.0 veröffentlicht.

Das InteropForms Toolkit erlaubt es, .NET WinForms in VB6 Anwendungen anzeigen zu lassen, wodurch eine stufen-(bzw. Form)weise Migration von Anwendungen von VB6 nach VB.NET möglich ist.

Die PrintForm Component ermöglicht das einfache Drucken eines WinForms als eine Art Report.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , | Posted by AlexanderZeitler on 9/20/2006 6:26 AM | Comments (0)

Paul Stubbs hat zwei Artikel zum Thema Unit Testing für VSTO verfasst:

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: , | Posted by AlexanderZeitler on 9/20/2006 6:10 AM | Comments (2)

Unit Tests haben sich im Bereich der Softwareentwicklung inzwischen einigermaßen etabliert, sei es ASP.NET oder WinForms. Bei ASP.NET beschränken sich diese Tests allerdings nach wie vor allenfalls auf den CodeBehind. Das HTML-Resultat war unter .NET bisher nicht vernünftig testbar. Genau diese Lücke zu schließen versucht WatiN, ein Open Source Web Application Testing Framework für .NET.

Dieses Posting soll einen kurzen Einblick in die Arbeitsweise von WatiN geben.

Zunächst benötigt man die aktuellste Version von WatiN, welche hier heruntergeladen werden kann.

In unserem Beispiel werden wir WatiN in einer Konsolenapplikation verwenden, hierzu erzeugen wir in Visual Studio ein neues Konsolenprojekt:

Um WatiN nutzen zu können, wird ein Verweis auf die WatiN.Core.dll benötigt, welche sich in dem o.g. Download befindet:

Um die Grundfunktionalität zu testen, ist folgender Code notwendig:

using System;
using WatiN.Core;

namespace WatiNGettingStarted {

class WatiNConsoleExample {
	[STAThread]
	static void Main(string[] args) {
		// Öffnen eines neuen Internet Explorer Fenster
		// und Aufrufen der Google-Website
		IE ie = new IE("http://www.google.com");

		// Suche nach dem Such-Textfeld und Eingabe von "WatiN".
		ie.TextField(Find.ByName("q")).TypeText("WatiN");

		// Klick auf den Such-Button.
		ie.Button(Find.ByValue("Google Search")).Click();

		// Diesen Kommentar löschen, um den Internet Explorer
		// und das Konsolenfenster sofort zu schließen.
		//ie.Close();
		}
	}
}

Nach dem Kompilieren und Starten der Konsolen-Applikation sollte sich ein Internet Explorer-Fenster öffnen und die Google Website mit den Suchergebnissen für "WatiN" angezeigt werden.

Nachdem die Applikation nun grundlegend funktioniert, werden wir sie so erweitern, dass Seiteninhalte ausgelesen werden können und an die Konsolenapplikation zurückgegeben werden.

Hierzu wird die Internet Explorer Developer Toolbar benötigt (die Toolbar ist zwingend notwendig, um die Automatisierung von Webseiten sinnvoll steuern zu können).

Nachdem wir den DOM-Explorer der Developer Toolbar geöffnet haben ("View DOM"-Button), können wir die Tabelle mit den Suchresultaten in der Seite über die Funktion "Select Element by click" im "Find"-Menü auswählen. Der DOM Explorer zeigt die Tabelle dann in der DOM-Hierarchie an:

WatiN überprüft standardmäßíg den Body-Bereich der HTML-Seite, weshalb wir uns direkt auf die Suche nach der Tabelle mit den Suchresultaten machen können. Die gesuchte Tabelle ist die dritte in der Seite, sodass wir die Table-collection verwenden können, um eine Referenz auf die Tabelle zu erhalten. Der Code sieht wie folgt aus:

Table table = ie.Tables[2];

Es gibt noch einen weiteren Weg, um an diese Tabelle zu kommen, in dem wir den class-Namen der Tabelle (class=t bt)verwenden. Da keine andere Tabelle diesen Namen zugewiesen hat, ist sie eindeutig definiert als die gesuchte Tabelle. Um die Tabelle über den class-Namen zu finden, verwenden wir Find.ByCustom:

Table table = ie.Table(Find.ByCustom("classname","t"));

An diesem Punkt haben wir eine Referenz auf die Tabelle mit den Suchergebnis-Statistiken. Danach müssen wir noch die Tabellenzeile und -zelle finden, in der die Information steckt. Die Zeile ist einfach, da nur eine in dieser Tabelle existiert. Um die Zelle zu erhalten, verwenden wir die TableCells collection. Die gewünschte Information befindet sich in der zweiten Zelle.

string resultStats = table.TableRows[0].TableCells[1].Text;

Zuletzt müssen wir diese Information noch auf der Konsole ausgeben. Somit ergibt sich folgender Code:

using System;
using WatiN.Core;

namespace WatiNGettingStarted {

class WatiNConsoleExample {
	[STAThread]
	static void Main(string[] args) {
		// Öffnen eines neuen Internet Explorer Fenster
		// und Aufrufen der Google-Website
		IE ie = new IE("http://www.google.com");

		// Suche nach dem Such-Textfeld und Eingabe von "WatiN".
		ie.TextField(Find.ByName("q")).TypeText("WatiN");

		// Klick auf den Such-Button.
		ie.Button(Find.ByValue("Google Search")).Click();

		// Suchen der Tabellenzelle welche die Suchergebnis-
		// Statistiken beinhaltet.
		Table table = ie.Table(Find.ByCustom("classname","t bt"));
		string resultStats = table.TableRows[0].TableCells[1].Text;

		// Ausgabe der Statistik auf der Konsole.
		Console.WriteLine(resultStats);
		// Diesen Kommentar löschen, um den Internet Explorer
		// und das Konsolenfenster sofort zu schließen.
		//ie.Close();
		}
	}
}

Nach dem Start der Konsolenanwendung sollte sich folgendes Bild ergeben:

Womit die kurze Einführung in WatiN auch schon beendet ist ;-)

Be the first to rate this post

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