Well, it is great to see that the internet has made this world a little smaller: Yesterday I received a mail from a user in Hong Kong telling me that he was having trouble installing my Gedit plugin “gedittools” on his machine. Wow, a guy in China is using my software! It’s great to see that there are people on the other side of the world searching for the same features as I do.
Just because I’m happy about this contact and since this guy really seems to really appreciate my plug-in, here is the mail thread that we shared today:
Tuesday, July 3, 8:30 PM CET
Dear Matt,
I like your gedittools plugin very much. But I am not able to install it in my new workstation (RHEL6.2, 64bit) with gedit 2.28.4. I followed the simple installation approach, i.e. copy all files within gedittools folder into the gedit plugin path. I tried copying plugin files to each of below below paths, both none of them can let gedittools plugin be shown in gedit->Edit->Preferences->Plugins.
Do you think if there is any compatibility issue or I have done something wrong? Sorry to bother you on such stupid question. I have spent few days on googling this and really feel depressed if my gedit has no such features.
Best Regards and Thanks,
Ernest
Wednesday, July 4, 8:56 AM CET
Hi Ernest!
Great to hear that my plugin made it all the way to Hong Kong.
Maybe it is simple: The latest version on Github is designed for Gedit
3. Therefore, if you download the latest version it will probably not
work on gedit 2.28.
The master branch is still designed for 2.28 – find it attached. With
these files it should work as described here: http://www.any-where.de/blog/gedittools-a-plug-in-for-gedit/
Let me know if this works out!
Regards from Germany
Matt
Wednesday, July 4, 4:55 PM CET
Hi Matt,
It works!!!!!! This plugin implements the most useful features for me. Really thanks so much for your prompt reply and share this to the community. I already shared this plugin to my colleagues as one of the must-install gedit plugin. Thanks again!
Best Regards from Hong Kong,
Ernest
Wednesday, July 4, 11:04 PM CET
Hi Ernest,
glad to hear that!
I’ll post your lines in my blog 🙂
Last week we headed to Stratford-upon-Avon. This lovely little town is birthplace of the most famous English playwright Shakespeare. And that’s why we went there: Every year in April – in the time around his birthday – there’s a festival giving fantastic productions of Shakespeare’s plays. In both theatres you will have stunning actors, great stage settings and much fun. Along the festival there is a lot going on in town: Bands are playing, actors are speaking, a parade is taking place heading from Shakespeare’s birthplace to the church where he is buried.
If you have enough of all that cultural stuff you might visit the Cotswolds which is the area Southern Stratford. That’s what we did: You find lovely villages such as Broadway, Stanton or Stanley which are all built from the same kind of stone. Therefore all buildings look like honey-coloured fairy-tale-houses. Really nice to stroll through these old quiet villages.
In Wiesbaden wird es auch wärmer und schon nisten die zwei Sitticharten, die hier mittlerweile quasi heimisch sind, in jedem Astloch im Biebricher Schlosspark. Hier ein Paar Bilder aus der letzten Woche.
Vor einigen Tagen postete ich meinen Artikel “Nimm Dir einen Stift.”, in welchem ich dazu aufrief, in Besprechungen mehr zu visualisieren, zu malen, zu basteln und kreativ zu arbeiten. Im Nachgang habe ich einige tolle Gespräche zu diesem Thema geführt und festgestellt, dass es viel verbreiteter ist als ich dachte, Dinge nur verbal zu besprechen, aber nicht kreativ zu arbeiten. Zusätzlich zu meinem Appell hinsichtlich der Viualisierung von Ergebnissen habe ich nun “zu Blog” gebracht, welches in meinen Augen die Verhaltens-Schlüsselfaktoren zu erfolgreichen Meetings sind. Natürlich gibt es auch hier bestimmt 1000 weitere – diese hier sind aus meiner Erfahrung gegriffen und freuen sich auch wieder über Ergänzungen in den Kommentaren.
Dies ist ein kleiner Appell, die Möglichkeiten zur Visualisierung in Besprechungen zu nutzen. Keine wissenschaftliche Anleitung, nur ein wenig eigene Erfahrung. Vielleicht ergänzt sie ja der eine oder andere.
Je komplexer der Sachverhalt, desto wichtiger ist der Transport des Inhalts über visuelle Elemente. Das Skizzieren von Inhalten, das Gruppieren von Moderationskarten, das gemeinsame Malen, Rumspinnen, Brainstormen oder Mindmapping hilft mir persönlich sehr viel besser, komplexe Sachverhalte zu verstehen, als es das “gesprochene Wort” alleine könnte.
Lange wollte ich britisches Fernsehen. Leider ist der Empfang über Satellit mit normalen Receivern in Deutschland wohl nicht möglich (zumindest nicht mit meiner Astra Anlage).
Aber das iPhone bedient hier meinen Medienbedarf: Mit der App Filmon klappt dies nun endlich: Zwar ist die Auswahl der Sender nicht so umfassend, wie es über Satellit wäre. Aber immerhin gibt es nun mit BBC 1, BBC 2, Channel 4, ITV und einer Reihe anderer Sender ein großes Plus im Vergleich zu BBC World News, die in Deutschland auch über Satellit zu empfangen sind. Die App funktioniert im WLAN.
Was sie aber erst richtig zur Killer-App werden lässt, ist, wenn man Besitzer eines Apple TV ist: Ich kann nun direkt via Airplay die Sender auf meinen Fernseher Streamen. Echt super.
28. Juli 2013 – Update: Offenbar gibt es schon wieder Fishingmails, scheinbar von Tintencenter.com – Google Analytics nach kamen seit gestern hunderte Besucher über Google auf diesen Post. Was sind Eure Erfahrungen mit Tintencenter.com?
*
Dass es immer wieder Datenlöcher gibt und irgendwelche Kriminellen an meine Daten kommen, ist leider fast schon Alltag geworden. Was sich aber dringend ändern sollte, ist die Art und Weise, mit der Unternehmen mit ihrem Verlust und dem ihrer Kunden umgehen: Meist ist das nur enttäuschend und erst das Ignorieren des Problems sorgt dafür, dass Phishing erst zum Erfolg werden kann.
Am Samstag erhielt ich eine E-Mail von tintencenter.com – da diese durch meinen Spamfilter bei Gmail rutschte, war ich echt irritiert: Da standen meine kompletten Adressdaten drin und Daten über eine angebliche Bestellung, die ich aufgegeben hätte. Als Informatiker bin ich immun solchen Anfragen gegenüber – eigentlich. Aber ich hatte es eilig, meine Daten stimmten und der Link in der Mail sah auf einen flüchtigen Blick hin auch gut aus. Ich bin also auf die Seite und wollte mich einloggen. Erst da merkte ich, dass ich Phishing aufgesessen bin. Naja, das war der Anlass, endlich mal wieder alle Passwörter zu ändern.
Ich habe die Email sofort an tintencenter.com weitergeleitet und darum gebeten, mein Benutzerkonto umgehend zu löschen.
Nach einem Tag bekam ich folgende Antwort:
Sehr geehrter Kunde,
sehr geehrte Kundin.
Sie haben von uns eine Auftragsbestätigung bzw. Versandbestätigung mit der
Nummer 2011145121 erhalten, welche angeblich von uns versendet wurde.
>>> Diese E-Mail ist NICHT von uns versendet worden. <<<
Leider sind wir in jüngster Vergangenheit Opfer eines Angriffes geworden,
bei dem der Angreifer durch eine bis dato unbekannte Sicherheitslücke des Shops
teilweisen Zugriff auf die Kundendaten hatte. Die Sicherheitslücke wurde von
uns schnellstmöglich geschlossen, bedauerlicherweise sind aber einige Daten in
die Hände des Angreifers gefallen. Dabei handelt es sich um die E-Mailadresse
sowie Ihre zu dem Zeitpunkt hinterlegte Liefer- bzw. Rechnungsanschrift.
Dadurch ist es dem Angreifer nun möglich täuschend echte Auftragsbestätigungen
in unseren Namen zu verschicken, welche persönliche Daten von Ihnen enthält.
Das Ziel des Angreifers ist es, dass Sie auf die Links klicken, die in der
E-Mail enthalten sind, um Ihnen Schadsoftware auf Ihren Computer zu installieren.
>>> Daher klicken Sie bitte NICHT auf die in der E-Mail enthaltenen Links! <<<
Natürlich ist es zu keiner Bestellung Ihrerseits gekommen. Wir werden auch
keine Ware versenden oder Ihnen irgendeinen Betrag in Rechnung stellen! Auch
war es dem Angreifer nicht möglich, Kontodaten oder Kreditkartendaten zu bekommen!
Wir werden selbstverständlich den Vorfall zu einer Anzeige bei der Polzei bringen,
allerdings zeigt die Vergangenheit bei dieser Art Vorfällen, dass die Erfolgsaussichen
gering sind, zumal die Angreifer bzw. die Versender dieser E-Mails im Ausland sitzen
oder gehackte Server benutzen um z.B. die E-Mail zu versenden. Natürlich setzen wir
alles daran den Versand dieser E-Mails zu unterbinden
sowie die Abschaltung der Domain zu veranlassen.
Leider kann es vorkommen, dass Sie in Zukunft erneut eine E-Mail mit der gleichen Auftragsnummer
oder Spam-Mails von angeblichen Vergleichsportalen (sogn. Krankenkassenspam) erhalten.
Diese können Sie dann ungesehen löschen.
Wir entschuldigen uns für diesen Vorfall sowie die damit verbundenen Unannehmlichkeiten.
Mit freundlichen Gruss,
Team Tintencenter
Aha, eine Datenpanne, wenigstens entschuldigten sie sich. Aber was macht tintencenter.com aktiv? Die Firma wartet scheinbar, bis die Kunden selbst sich melden, statt offensiv mit dem Problem umzugehen und ihre Kunden anzuschreiben. Erst so gelangen selbst “professionelle” Surfer wie ich auf eine Phishingseite und geben ihre Zugangsdaten ein.
Noch dazu geht tintencenter.com scheinbar nicht einmal jetzt, zwei Tage später, technisch gegen die Betrügerei vor: Sogar jetzt, nachdem es zwei Tage her ist, dass ich bei tintencenter.com meinen Vorfall eingereicht habe, gelange ich von der Phishingseite und dem angeblichen Loginformular auf die originale Website, welche keinen Hinweis beinhaltet, dass ich unter Umständen von einer kriminellen Seite zu tintencenter.com gelangt bin. Dabei wäre dies technisch eine Sache von Minuten. Bei Twitter melden sich mittlerweile weitere enttäuschte Kunden.
Nachdem ich auf die Antwort von tintencenter.com gestern Abend erneut darum bat, mir zu bestätigen, dass mein Account gelöscht sei und mich bei der Gelegenheit über die Kommunikation beschwerte, bekam ich heute eine Antwort, dass mein Account entfernt wurde. Vertrauen ist gut, Kontrolle ist besser. Scheinbar klappt selbst das nicht: Ich komme immernoch rein. tintentcenter.com = fail.
Wir waren gerade in China – eine tolle Reise in ein spannendes Land. Hier gibt es ein Paar Gedanken von mir zu unserem Trip. Viel Spaß beim Lesen! Wer nur Bilder will, wird hier fündig.
Dass die Chinesen eigentlich alles erfunden haben und für sämtlichen Fortschritt der Welt verantwortlich sind, ist zumindest in der chinesischen Meinung und Weltanschauung so fest verankert, dass sie keine Gelegenheit ausnutzen, diese vermeintliche Tatsache ihren rückständigen europäischen Besuchern unter die Nase zu reiben. Manchmal kommt man nicht einmal dazu, Einspruch erhebend den Zeigefinger zu heben und Luft zum Widerspruch zu holen, da kommt schon die nächste Errungenschaft: Das weltgrößte Irgendwas, die höchste Sonstwie und überhaupt alles Superlative befindet sich in China. Und um noch richtig den Finger in die Wunde zu legen, kommt im Folgenden auch immer noch ein: “Und wo gibt es das zweitgrößte Dings?” als rhetorische Frage. Sofort rattert das europäische Gehirn auf der Suche nach dem zweitgrößten Platz, Gebäude, Reisfeld – nur, um dem überbrodelndem Selbstbewusstsein der Chinesen etwas entgegenzusetzen. Die Ernüchterung folgt auf den Punkt. “In China.” Das ist die Antwort der Chinesen – man hat nicht nur das weltgrößte Dings, sondern auch das zweitgrößte. So sind sie.
Vieles ist aber auch wirklich superlativ. Eigentlich fast alles – zumindest im Vergleich mit europäischen Maßstäben. Sei es die chinesische Mauer, die Terrakotta Armee oder der für eine einzelne Familie etwas zu groß geratene Verbotenen Stadt mitten in Peking. Die Sehenswürdigkeiten zeugen von einer sehr spannenden Kultur – diese steht wegen des unvorstellbaren Wachstums in China aber oft auf einer dünnen Linie zwischen der Welt im 21. Jahrhundert und der traditionellen Lebensweise der Chinesen. An allen Ecken merkt man dies – sei es mitten in Shanghai, wo alte Wohnviertel ohne jede sanitäre Versorgung an teure Glaspaläste grenzen oder in Xian, wo horden von chineischen Besuchern mit Blitzlichtgewitter eine buddhistische Messe begleiten. Während viele der touristisch interessanten Orte liebevoll herausgeputzt und sauber gehalten werden, gibt es an anderen Orten genau dies nicht – viele Schätze sind am Lauf des Yangzi unwiederbringlich vernichtet worden, 1,3 Million Menschen wurden umgesiedelt und die hübschen Dörfer, die man unterhalb des Drei-Schluchten-Damms sieht, mussten weichen für höher gelegene Plattenbauten.
Und da zeigt sich das Dilemma das Fortschritts: Wir kennen uns in Deutschland auch mit Betonbauten aus. Plattenbauten gibt es nicht nur im Osten – auch in meiner Heimatstadt Wiesbaden gibt es Viertel mit diesen hässlichen Häusern, die man am liebsten direkt sprengen möchte. Nur: In China entstehen nicht einzelne Wohnviertel sondern ganze riesige Stadtteile, die von Betoncharme geprägt sind. Man kann nur staunen, wenn man in Chongqing steht und um einen herum 20 Kräne gerade vollkommen identische 20-stöckige Hochhäuser hochziehen. Hier wohnen Hunderttausende oder Millionen Menschen in Wohnsilos, die bei uns spätestens seit den 80er Jahren als antiquiert, hässlich und nicht nachhaltig gelten. Bleibt zu hoffen, dass die Chinesen nicht den gleichen geschmacklichen Wandel vollziehen wie wir Europäer: Am Ende bliebe ihnen vermutlich nur der Abriss und Neubau ganzer Städte. Das an allen Ecken und Enden sichtbare Wachstum steht in China also auf Beton. Eine Stadt wie Shanghai ist umgeben von einem ganzen Gürtel dieser Häuser.
Bekanntermaßen werden die Innenstädte von Shanghai und Beijing geplättet und deren alte Bausubstanz ersetzt durch moderne Häuser. Lässt man den Kritikpunkt der Menschenvertreibung außer acht, ist dies sogar durchaus zu verstehen: Die alten Wohngebiete verfügen über eine brüchige Substanz, Gemeinschaftstoiletten an den Straßenecken und wenig Perspektive für Besserung. Dass eine Stadt mitten im Zentrum eine andere Entwicklung möchte, kann man durchaus verstehen. Die Chinesen beteuern zwar, dass alle Bewohner einen adäquaten Ersatz in einer der Betonbunker bekommen, aber wenn man kritische Berichte liest, wird immer deutlich, dass sich korrupte Beamte sowohl bei der Umsiedelung der Menschen aus dem Jangzi-Tal als auch bei der Räumung der Butongs in Beijing eine volle Tasche verdienen. Solange dies so ist, ist das Vorgehen der Regierung hinsichtlich der Umsiedlung tausender Menschen im Namen des Fortschritts wirklich schwer zu rechtfertigen. Auf der Strecke bleibt mit dem Abriss auch die alte chinesische Identität – wenn dies so weitergeht, wird China Town in New York in Zukunft mehr chinesisches Flair haben als die Straßenzüge im Herzen der Hauptstadt Chinas.
Und wie geht der Chinese damit um? Das ist schwer zu sagen. Unsere Reiseleiter waren sicherlich treue Parteimitglieder. Dennoch – der Wille nach Fortschritt ist überall zu spüren. Im Fernsehen laufen Werbespots für Kloschüsseln in denen europäisch gekleidete Chinesinnen mit voller Leidenschaft auf dem Boden knien und die Schüssel aus ganzem Herzen umarmen. An jeder Ecke finden sich europäische Konzerne und platzieren Werbung für Autos, in Einkaufszentren gibt es riesige Verkaufsräume für Wohnungen in Shanghai. Alles in allem findet hier gerade ein riesiger Aufschwung statt – das ist überall zu merken. Dennoch sieht man auch, wie dieser entwickelte Teil Chinas regional auf den Osten des Landes beschränkt ist. 30km vor Shanghai sind immernoch die Reisbauern auf ihren Feldern damit beschäftigt, Wasserbüffel die Felder pflügen zu lassen, die Autobahnraststätten haben zwar moderne Toiletten, aber keinen Wasseranschluss und überhaupt wirkt das gesamte chinesische Leben außerhalb der Millionenstädte sehr beschaulich. Kein Wunder: 70% aller Chinesen sind immernoch Bauern.
Es gibt viele Parallelen zur Nachkriegsentwicklung in Europa. Nur hier scheint es mit dreifacher Geschwindigkeit abzulaufen und unter einem Regime, dass weder Widerstand duldet noch den geringsten Einspruch gegen diese Entwicklung gelten lassen möchte. Der Drei-Schluchten Damm zeigt dies auf beeindruckende Art und Weise: Hier hat sich das Land oder mehr noch deren Herrscher ein Denkmal gesetzt und mit der Bezwingung des Yangzi einen Erfolg errungen, von dem Mao seiner Zeit schon geträumt hatte. Allen Bedenken und Umweltproblemen zum Trotz wurde hier ein Exempel statuiert, um die Größe der Nation für alle Zeiten zu manifestieren.
Wuchtig ist er, der Damm. Schön nicht. Dennoch ist es ein beeindruckendes Meisterwerk der Baukunst und obwohl im Vorfeld des Baus die westliche Kritik groß und die europäischen und amerikanischen Geldgeber nahezu alle abgesprungen waren, wollen viele Westler nun ihr Scheibchen abhaben und Geld an ihm verdienen. Thyssen-Krupp baut gerade ein riesiges Schiffshebewerk am Damm. Sicher ein lukrativer Auftrag. Angeblich erreichen die Turbinen des Damms aber nie ihre volle Last – die Schlammmengen des Yangzi sind zu massig und auch der Strom, der ja bis nach Shanghai fließen soll, ist teurer als der von den Kohlekraftwerken, weshalb die Laune in Shanghai bzgl. des “grünen” Stroms vom Fluss recht gedämpft ist – Shanghai muss extra zahlen. Von den Drei Schluchten ist auch nur noch eine geblieben, die sich unterhalb des Damms befindet. Die beiden anderen sind auch schön, haben von ihrer Dramatik aber sehr viel eingebüßt. Mit dem Damm wurde ja aber eine neue Schlucht geschaffen – vielleicht hätte man ihn den Vier Schluchten Damm nennen sollen.
Heute möchte ich mal wieder kurz über unseren Weg hin zu mehr Effizienz und Transparenz beschreiben, den wir als Softwareentwicklungsteam seit einigen Monaten beschreiten. Der Titel des Beitrags klingt vielleicht unterschwellig viel negativer, als ich es meine. Aber er drückt doch gut aus, was gerade passiert: Wir befinden uns auf einer langen Straße, die, um es noch bildlicher auszudrücken, am Anfang sehr holprig und ohne Beschilderung war und nun immerhin schon zu einer stattlichen Bundesstraße ausgebaut wurde.
Nachdem wir Anfang 2011 begannen, unsere Entwicklungsarbeit in User Stories und Tasks toolgestützt zu organisieren, konnten wir schon einen enormen Fortschritt erreichen: Durch unsere Daily Stand-up Meetings sorgten wir für eine große Transparenz der Dinge, die gerade passieren. Sei es in Entwicklungsprojekten oder in den vielen Wartungsprojekten, die wir in unserer Firma betreuen. Insbesondere finde ich die Wandlung in der Kommunikation spannend: In einer Atmosphäre ohne Finger-Pointing steht jeder für die Dinge gerade, die er erfolgreich erledigt, gibt aber auch einen ehrlichen Status über die Dinge, die nicht gut laufen und wo er Hilfe benötigt. Letzteres ist heute noch manchmal nicht so leicht, wie mir auffällt. Aber wir werden besser. Im großen und ganzen entsteht eine immer offenere Atmosphäre, was sich zwangsläufig auf die Produktivität aller niederschlägt.
Nach einer Scrum-Basis-Schulung später im Jahr durch it-agile führten wir nun auch regelmäßige Plannings, Reviews und Retrospektiven ein. Ein großer Schritt! Und wieder ist hier die Wandlung der Kommunikation das eigentlich spannende: das regelmäßige Erarbeiten von guten wie schlechten Aspekten im vorangegangenen Sprint sorgt in der Retrospektive für ein immer offeneres Miteinander des gesamten Teams, inkl. Product Owner und Scrum Master (auch, wenn wir diese Rollen bisher noch gar nicht so etabliert haben, wie sie das Scrum Buch definiert). Der stetige Drang, den Entwicklungsprozess zu verbessern durch ein “optimiertes” Miteinander, wird erst durch die Retrospektive in Gang gesetzt. Nicht zuletzt ist gerade dieses Meeting, aus welchem man mit konkreten Verbesserungsvorschlägen ins nächste Sprint Planning geht, höchst motivierend – committet man sich doch auf Schritte, die man selbst als verbesserungswürdig definiert hat.
Aber auch unsere gesamte Entwicklungsplanung verbessert sich stetig: Insebesondere werden durch die Plannings und durch das Committment auf ein Gespräch über jede User Story die Produkte besser: War es bisher so, dass neue Features bis ins (vermeidlich) letzte Detail in großen Excel-Listen im stillen Kämmerlein erstellt wurden und das “Design” der Software in der Umklammerung einzelner lag, bewegen wir uns heute immer mehr in einer Atmosphäre, in der die Intelligenz des gesamten Teams genutzt wird: Features werden mit dem Product Owner gemeinsam diskutiert und die Anforderungen und Akzeptanzkriterien zusammengetragen. Vor der Bearbeitung einer jeden User Story wird das Gespräch mit dem Product Owner gesucht und die Details der Anforderung besprochen. Eine bemerkenswerte Änderung hin zu mehr Kommunikation, weniger Dokumenten-Overhead und größerer Qualität durch Klarheit der Anforderungen.
All diese Dinge gehen einher mit einer Veränderung der Coding-Methodik und allgemeinen Zeitorganisation: Peer-Reviews wurden Pflicht, wo immer es geht wird Pair Programming durchgeführt. Darüber hinaus blockt sich das Team als ganzes die ersten vier Stunden eines Tages für die Projektarbeit und wird hier nicht unterbrochen durch Anfragen aus Wartungsprojekten oder sonstigem Tagesgeschäft. Wenn also nicht gerade der Webserver brennt, hat das Team nun Zeit, den halben Tag ungestört am Projekt zu arbeiten. Alle weiteren Abteilungen akzeptieren dies voll und kommen mit ihren Anfragen außerhalb dieser Zeiten – also vor 9 Uhr oder nach 13h. Das sorgt für eine viel stärkere Fokussierung auf die Projektarbeit.
Alles in allem machen wir uns also immer besser. Es macht Spaß, zu erleben, wie man gemeinsam die Atmosphäre, in der man arbeitet, verändern, die Qualität verbessern und die Produktivität steigern kann. Die am Anfang dieses Posts angesprochene Straße hat nun doch eine recht deutliche Beschilderung und erfährt einen stetigen Ausbau. Die Schulung zum Certified Scrum Master steht auch noch an, dem Product Owner “blüht” auch eine offzielle Schulung und andere Abteilungen im Haus zeigen immer mehr Interesse an dem, was wir tun: immer wieder stehen Kollegen interessiert am Board in unserem Büro oder auf dem Flur, in welchem eine Übersicht über alle Projekte hängt, die derzeit bei uns bearbeitet werden. Alles in allem wird dies eine Erfolgsgeschichte sein, wenn sie fertig ist. Aber wahrscheinlich ist man das ja nie 🙂
I recently came across a testing framework called Robot. It allows easy creation of test tables using a simple keyword-driven syntax. The test-cases are stored in simple CSV/TSV files which allow easy creation by even non-technical staff. A really nice feature is a test library for Selenium which may be installed along Robot. This makes testing web GUIs (HTML and according to the docs Flash/Flex) a treat. You may use another library called Ride to maintain, edit and run tests from a nice and simple GUI or you might consider using command line tools to integrate Robot into CI tools.
Installing Robot, Ride and Selenium
This is a description and basic tutorial to install Robot on a Ubuntu machine. To install a web-test setup for Robot do the following: 1. Refer to the following sites and download the latest versions:
2. Extract and Copy: Once downloaded, extract and copy all folders to a folder called e.g. /opt/dev/robot
3. Install Robot and all libraries: In each folder run
sudo python setup.py install
4. Start GUI – run the following script to start creating tests:
ride.py
Components in Robot
Tests in Robot are organised in
Folders containing
Test Suites containing
Test Cases, User Keywords, Scalars, List Variables
Keywords are commands used to trigger events. Using Selenium this might be accessing a website, clicking a specific button etc.. User keywords are powerful way to create your own re-usable test commands based on a set of defined keywords. You are allowed to parameterise your user keywords. Great stuff!
Scalars may be understood as variables such as URLs or default parameters passed to web forms e.g.
Setting up a test environment
We now want to create a simple test suite which visits Google.com, searches for Robot Framework and checks if results exist. Before we set up all basic test components we need to define a constant value for the Google URL. To do so, right click on Resources and select New Scalar. Enter ${GOOGLEURL} for name and http://www.google.com as Value.
Creating a Test Suite
Setting up a basic test suite which loads up Google:
1. Click on File -> open Folder, create a new one and give it the name “Google”
2. Right Click on the folder and select “Add Suite”. Give it the Name “Google Test”
3. Right Click on the Suite and create three test cases: Initial, Load Google, Finally
Now, your setup should look something like this:
Loading Resources and Libraries
First we will add the Selenium Library: Click on the Google Test Suite and choose Add Library on the Edit Tab. Here you’ll need to enter the path to the Selenium library. In my case this is
Then we will add our recently created GOOGLEURL Scalar to the suite. Click Add Resource and enter the path to the constant file. If you do not want to remember and type the whole path, you might want to head back to the constants file, copy the path and paste it in here. Now, we’re ready to create our simple test!
Creating a simple test
Now, we’re going to create our basic testing. Therefore I’m going to use a number of keywords implemented in the Selenium library. A documentation about these keywords may be found here: http://robotframework-seleniumlibrary.googlecode.com/hg/doc/SeleniumLibrary.html?r=2.7 Of course you may create your own keywords.
1. We need to start the Selinum Server: The keyword to do this is – surprise – Start Selenium Server. Add this to your initial test case.
Start Selenium Server
2. Then we’re going to visit Google in Firefox:
Open Browser ${GOOGLEURL}
3. Let’s wait until the search field is present. The id of the input field is ‘lst-ib’:
Page Should Contain Element lst-ib
According to the Selenium Library Documentation the identifier may be the id of an element, its XPath locator etc.
4. Now fill the field with “Robot Framework”:
Input Text lst-ib Robot Framework
5. Wait for the page to contain “code.google.com/p/robotframework/”
Wait Until Page Contains code.google.com/p/robotframework/
We’re now ready to run the test. To do so, we hit the small brown “run” icon in the tool bar and we’ll see: it works just fine 🙂
Enhancements
Robot creates a log and report for each test-run. If a test fails, a screenshot is being created and integrated into the html report. You are, of course, able to trigger the creation of screenshots or source code logging. Also, using the Wait For Condition keywords you are able to run an almost unlimited amount of JavaScript based tests on your website. Have a look at the Selenium docs – there is a huge amount of keywords to be used.
An easy to use testing tool
Robot is a nice and easy to use tool – we’re not using it to integrate into CI. We’re just running stand-alone tests. But it’s really handy when it comes to handle a huge number of test cases: For example we were testing the behaviour of search functionality of one of our websites. With robot I was able to fire hundreds of request against the search and get screenshots in return for further manual investigation. Also we’re using it to autmatically test dependencies of our content trees in huge navigational structures. For this kind of test Robot is perfectly suited.