Automation einer Google-Suchanfrage (Professionelle Browser-Automation mit Selenium WebDriver, Teil 1)

Es gibt verschiedene Szenarien, in denen ich mir wünsche, der Web-Browser könne ganz ohne mein Zutun arbeiten, z.B. wenn ich

  • die Webseiten einer Webanwendung, die gerade neu entwickelt wird, wiederholt testen muss,
  • bestimmte Informationen von einer externen Website regelmäßig ablesen und archivieren möchte,
  • über einen längeren Zeitraum kontrollieren will, ob meine eigene Website ganz oben im Google-Ranking steht.

Die gute Nachricht: Der Browser kann es, und mit Selenium WebDriver1) (SelWD) sogar auf flexible Art und Weise. Im ersten Teil dieses Artikels demonstriere ich das generelle Vorgehen anhand einer automatisierten Suchanfrage an Google. In Teil 2 zeige ich, wie Sie durch Erweiterung des Objektmodells ein professionelles Projekt zum wiederholten Testen von Web-Formularen einrichten.

Einen ausführlichen Artikel zum Thema mit Fokus auf die Testautomation habe ich in der dotnetpro 5/20132) veröffentlicht.WeiterlesenWeiterlesen

Links   [ + ]

1. http://www.seleniumhq.org/projects/webdriver/
2. http://www.dotnetpro.de/articles/articlearchive1784.aspx

KnockoutJS (JavaScript MVC Frameworks, Teil 4)

KnockoutJS

Im vierten und letzten Teil dieser kleinen Artikelserie betrachten wir KnockoutJS. Ebenfalls wie AngularJS und EmberJS wird es oft als Basis für Single Page Applications empfohlen, beispielsweise im Thoughtworks Technology Radar.
KnockoutJS hat zwar ähnliche Zielplattformen, wenn man es mit AngularJS und EmberJS vergleicht, es geht aber einen etwas anderen Weg: Wie wir später noch genauer sehen werden, ist KnockoutJS viel leichtgewichtiger und bildet eigentlich nur eine dünne Schicht über jQuery oder anderen Selektor-Bibliotheken. Im Gegensatz zu den schwereren Framework-Ansätzen der anderen beiden Kandidaten, ist KnockoutJS eher eine Bibliothek.
KnockoutJS wird von Microsoft entwickelt und hat somit ein sehr solides Umfeld.

Die Rahmenbedingungen klangen für mich auch wieder sehr vielversprechend, also habe ich KnockoutJS ebefalls ausprobiert. 🙂WeiterlesenWeiterlesen