{"id":139,"date":"2007-05-17T22:32:09","date_gmt":"2007-05-17T20:32:09","guid":{"rendered":"http:\/\/beetroot.de\/wordpress\/2007\/05\/17\/getz-gehts-los-nerven-schonen-mit-selenium\/"},"modified":"2007-05-17T22:54:27","modified_gmt":"2007-05-17T20:54:27","slug":"getz-gehts-los-nerven-schonen-mit-selenium","status":"publish","type":"post","link":"https:\/\/beetroot.de\/wordpress\/2007\/05\/17\/getz-gehts-los-nerven-schonen-mit-selenium\/","title":{"rendered":"Getz geht&#8217;s los &#8211; Nerven schonen mit Selenium"},"content":{"rendered":"<p><img class=\"alignright\" src='http:\/\/beetroot.de\/wordpress\/wp-content\/2007\/05\/wordpressicon-hanttula3.jpg' alt='Wordpress Logo' \/>Ich habe heute den verregneten Feiertag dazu genutzt, die <a title=\"Informationen zu WordPress Version 2.2\" href=\"http:\/\/wordpress.org\/development\/2007\/05\/wordpress-22\/\">aktuelle WordPress- Version<\/a> mit dem Namen &#8222;Getz&#8220;, benannt nach dem Saxophonspieler <a title=\"Wikipedia-Artikel zu Stan Getz\" href=\"http:\/\/de.wikipedia.org\/wiki\/Getz\">Stan Getz<\/a>, installiert.<\/p>\n<p>Die Installation erfolgt in den <strike>l\u00c3\u00a4stigen<\/strike>bekannten f\u00c3\u00bcnf Schritten. Dabei l\u00c3\u00b6scht man kurzerhand mal s\u00c3\u00a4mtliche Dateien vom Server und ersetzt sie durch die frische Version aus dem Download. Danach kopiert man die Dateien, die man doch noch ben\u00c3\u00b6tigt h\u00c3\u00a4tte aus dem Backup (welches Backup?) zur\u00c3\u00bcck in die aktuelle Version&#8230;<\/p>\n<p>Diese Vorgehensweise verursachte bei mir bislang regelm\u00c3\u00a4\u00c3\u0178ig Stress, da nach jedem Update wieder die komplette Seite durchgetestet werden musste, um sicherzustellen, dass alle Eigenschaften, die von mir eingebaut waren, auch nach dem Update noch funktionieren.<\/p>\n<p>Seit einiger Zeit verwende ich <a title=\"Selenium auf openqa.org\" href=\"http:\/\/www.openqa.org\/selenium\/\">Selenium-Tests<\/a> um die Seite automatisch zu testen und die von mir gew\u00c3\u00bcnschte Funktionalit\u00c3\u00a4t sicherzustellen.<\/p>\n<p><!--more--><\/p>\n<p>Um Selenium-Tests nutzen zu k\u00c3\u00b6nnen, ben\u00c3\u00b6tigt man einen <a title=\"Homepage des Firefox-Browsers\" href=\"http:\/\/www.mozilla.com\/en-US\/firefox\/\">Firefox-Browser<\/a> und die <a title=\"Selenium-IDE auf openqa.org\" href=\"http:\/\/www.openqa.org\/selenium-ide\/\">Selenium-IDE<\/a> (hier direkt installieren: <a title=\"Download und Installation der Selenium-IDE f\u00c3\u00bcr Firefox\" href=\"http:\/\/release.openqa.org\/selenium-ide\/0.8.7\/selenium-ide-0.8.7.xpi\">selenium-ide-0.8.7.xpi<\/a>).<\/p>\n<p>Nach der Installation steht im Menu Extras der Menupunkt Selenium-IDE zur Verf\u00c3\u00bcgung (<a title=\"Screenshot des Firefox-Menus\" href=\"\/wordpress\/wp-content\/2007\/05\/selenium-ide-menu.png\" class=\"highslide\" onclick=\"return hs.expand(this, {thumbnailId: 'P1390'})\">zeigen<\/a>). W\u00c3\u00a4hlt man diesen Menupunkt, \u00c3\u00b6ffnet sich die IDE und der Aufzeichnungs-Modus ist aktiv. Als Basis-URL ist die aktuelle Seite eingetragen (<a title=\"Screenshot der Selenium-IDE in Firefox\" href=\"\/wordpress\/wp-content\/2007\/05\/selenium-ide.png\" class=\"highslide\" onclick=\"return hs.expand(this, {thumbnailId: 'P1391'})\">zeigen<\/a>). Jeder Klick, den man nun im aktuellen Firefox-Fenster macht, wird von der IDE aufgezeichnet. Zus\u00c3\u00a4tzlich kann man durch das Markieren eines Bereiches auf der aktuellen Seite und Rechtsklick eine Reihe von Tests ausw\u00c3\u00a4hlen (<a title=\"Screenshot der Selenium-IDE zur Pr\u00c3\u00bcfung von Website-Inhalten\" href=\"\/wordpress\/wp-content\/2007\/05\/selenium-ide-rechtsklick-auf-markierung.png\" class=\"highslide\" onclick=\"return hs.expand(this, {thumbnailId: 'P1392'})\">zeigen<\/a>).<\/p>\n<p>Wenn die Aufzeichnung vollst\u00c3\u00a4ndig ist, lassen sich die Tests abspeichern. Dazu in der Selenium IDE den Menupunkt &#8222;Datei | Eport Test As&#8230; | HTML&#8220; aufrufen. Der Datei einen Namen geben &#8211; fertig. Wenn der Test k\u00c3\u00bcnftig wiederholt werden soll, einfach die Datei in die Selenium IDE laden und durch Play starten.<\/p>\n<p>Ich habe hier schon mal etwas vorbereitet:<\/p>\n<p>Die Testdatei zum \u00c3\u0153berpr\u00c3\u00bcfen dieses Blog-Eintrags kann <a title=\"Testdatei f\u00c3\u00bcr einen Selenium-Test auf dieser Seite\" href='http:\/\/beetroot.de\/wordpress\/wp-content\/2007\/05\/test-p139.html' title='Selenium-Datei zum Testen dieses Blog-Eintrags'>hier<\/a> heruntergeladen werden. Einfach die Datei lokal abspeichern , danach in die Selenium-IDE laden, jetzt noch die Base-URL auf www.beetroot.de setzen und Play dr\u00c3\u00bccken (<a title=\"Screenshot der Selenium-IDE nach Beendigung eines Testlaufs\" href=\"\/wordpress\/wp-content\/2007\/05\/selenium-ide-testlauf-mit-fehler.png\" class=\"highslide\" onclick=\"return hs.expand(this, {thumbnailId: 'P1393'})\">zeigen<\/a>).<\/p>\n<p>Oder den eingebauten Testrunner mit der <a href='http:\/\/beetroot.de\/wordpress\/wp-content\/2007\/05\/testsuite_p139.html' title='Test-Suite zur Pr\u00c3\u00bcfung des Blogeintrags.'>Test-Suite zur Pr\u00c3\u00bcfung des Blogeintrags<\/a> verwenden. Der folgende Link funktioniert ausschlie\u00c3\u0178lich in Firefox-Browsern mit installierter Selenium-IDE. Den Link kopieren und in die Adressleiste des Firefox kopieren:<\/p>\n<p><a title=\"Link auf den Selenium Testrunner zur Ausf\u00c3\u00bchrung der Testsuite\" onClick=\"alert('Der direkte Klick auf den Link funktioniert nicht!\\\\nHier sch\u00c3\u00bctzt Euch der Firefox, da der Link von einer fremden Website stammt.\\\\nKopiert bitte den Link mit der rechten Maustaste und f\u00c3\u00bcgt ihn danach in die Adressleiste des Firefox ein!')\" href=\"chrome:\/\/selenium-ide\/content\/selenium\/TestRunner.html?baseURL=http:\/\/www.beetroot.de&#038;test=http:\/\/beetroot.de\/wordpress\/wp-content\/2007\/05\/testsuite_p139.html&#038;auto=true\">chrome:\/\/selenium-ide\/content\/selenium\/TestRunner.html<br \/>\n?baseURL=http:\/\/www.beetroot.de<br \/>\n&#038;test=http:\/\/beetroot.de\/wordpress\/wp-content\/2007\/05\/testsuite_p139.html<br \/>\n&#038;auto=true<\/a><\/p>\n<p>In beiden F\u00c3\u00a4llen sind alle Testschritte, bis auf den letzten erfolgreich.<\/p>\n<p>Screenshots der Selenium-IDE:<\/p>\n<table>\n<tr>\n<td>\n<highslide image=\"\/wordpress\/wp-content\/2007\/05\/selenium-ide-menu.png\" thumbnail=\"\/wordpress\/wp-content\/2007\/05\/selenium-ide-menu.thumbnail.png\" altdesc=\"Firefox-Menu: Extras | Selenium IDE\" captiontext=\"Firefox-Menu: Extras | Selenium IDE\" \/>\n<\/td>\n<td>\n<highslide image=\"\/wordpress\/wp-content\/2007\/05\/selenium-ide.png\" thumbnail=\"\/wordpress\/wp-content\/2007\/05\/selenium-ide.thumbnail.png\" altdesc=\"Selenium IDE\" captiontext=\"Selenium IDE. Der Cursor steht auf dem aktivierten Record-Button. Die Base-URL zeigt auf mein Blog.\" \/>\n<\/td>\n<td>\n<highslide image=\"\/wordpress\/wp-content\/2007\/05\/selenium-ide-rechtsklick-auf-markierung.png\" thumbnail=\"\/wordpress\/wp-content\/2007\/05\/selenium-ide-rechtsklick-auf-markierung.thumbnail.png\" altdesc=\"Pr\u00c3\u00bcfen, ob ein bestimmter Text auf der Seite enthalten ist.\" captiontext=\"Durch das Markieren eines Bereichs auf der Webseite und anschlie\u00c3\u0178endem Rechtsklick, kann man verschiedene Pr\u00c3\u00bcfungen durchf\u00c3\u00bchren. Der ausgew\u00c3\u00a4hlte Menupunkt pr\u00c3\u00bcft, ob der markierte Text als erster Abschnitt (&lt;p&gt;) auf der Seite erscheint.\"\/>\n<\/td>\n<td>\n<highslide image=\"\/wordpress\/wp-content\/2007\/05\/selenium-ide-testlauf-mit-fehler.png\" thumbnail=\"\/wordpress\/wp-content\/2007\/05\/selenium-ide-testlauf-mit-fehler.thumbnail.png\" altdesc=\"Testlauf in der Selenium-IDE mit Fehlermeldung\" captiontext=\"Durch Klicken auf den Play-Button l\u00c3\u00a4sst sich der aufgezeichnete Testlauf starten. Das Bild zeigt einen fehlgeschlagenen Testschritt: Es wurde gepr\u00c3\u00bcft, ob der erste Absatz das Wort &quot;Fehlschlag&quot; enth\u00c3\u00a4lt. Das ist - zum Gl\u00c3\u00bcck - nicht der Fall.\"\/><\/td>\n<\/tr>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Ich habe heute den verregneten Feiertag dazu genutzt, die aktuelle WordPress- Version mit dem Namen &#8222;Getz&#8220;, benannt nach dem Saxophonspieler Stan Getz, installiert. Die Installation erfolgt in den l\u00c3\u00a4stigenbekannten f\u00c3\u00bcnf Schritten. Dabei l\u00c3\u00b6scht man kurzerhand mal s\u00c3\u00a4mtliche Dateien vom Server und ersetzt sie durch die frische Version aus dem Download. Danach kopiert man die Dateien, [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-139","post","type-post","status-publish","format-standard","hentry","category-rechnerisches"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9k0JZ-2f","_links":{"self":[{"href":"https:\/\/beetroot.de\/wordpress\/wp-json\/wp\/v2\/posts\/139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beetroot.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beetroot.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beetroot.de\/wordpress\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/beetroot.de\/wordpress\/wp-json\/wp\/v2\/comments?post=139"}],"version-history":[{"count":0,"href":"https:\/\/beetroot.de\/wordpress\/wp-json\/wp\/v2\/posts\/139\/revisions"}],"wp:attachment":[{"href":"https:\/\/beetroot.de\/wordpress\/wp-json\/wp\/v2\/media?parent=139"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beetroot.de\/wordpress\/wp-json\/wp\/v2\/categories?post=139"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beetroot.de\/wordpress\/wp-json\/wp\/v2\/tags?post=139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}