Lernen GEB und Spock

8

Ich bin ein manueller Tester, der versucht, GEB und Spock zu lernen. Um diese zu lernen, muss ich über Java oder Groovy verfügen? Ich habe das Buch von GEB gelesen. Was sind die Voraussetzungen, Bücher oder Lernressourcen? Bitte helfen Sie. Danke.

    
Dee 10.01.2013, 01:23
quelle

1 Antwort

28

Ich habe versucht, ein paar Grundlegendes und einige nützliche Dinge zusammenzustellen, die ich sehr hilfreich fand, als ich Geb aufnahm.

  1. Einige Groovy Magic . Vor allem, dass Sie Groovy lernen müssen, wird in diesem Handbuch behandelt, aber aus offensichtlichen Gründen, wenn Sie von der Sprache besessen sind, die Sie vielleicht als betrachten möchten in Aktion . Während Java nicht benötigt wird, um Groovy aufzunehmen, wenn Sie von einem Java (außer Closures) oder sogar einem Python-Hintergrund kommen, könnten Sie wahrscheinlich das Tutorial für 15 Minuten durchblättern und Sie sind schon da).

  2. Ein kleines Selen. Je mehr, desto besser, aber keine Angst, diese einzelne Seite gibt Ihnen alles, was Sie über den Selenium-Webdriver wissen müssen würde im Allgemeinen verwenden. Aber um zu betonen, je mehr desto besser.

  3. jQuery-Selektoren (jeder sagt, dass es einfach ist, aber ehrlich gesagt, ich verweise auf das Handbuch mindestens zweimal pro Stunde. Ich bin dumm, also ...). Wenn Sie mit jQuery noch nicht vertraut sind, sollten Sie mit grundlegenden Selektoren beginnen und auf die Schaltfläche klicken Linkes Navigationsmenü für mehr. Bitte beachten Sie, dass nicht alle jQuery-Selektoren für Geb anwendbar sind, aber die Selektoren-Sektion von Geb-Tutorial war nicht sehr erschöpfend und ansprechend.

  4. Am Ende meiner Testfälle muss ich einen fantasievollen Bericht erstellen, der sich über mehrere Testfälle erstreckt und Abhängigkeiten zwischen Testfällen aufweist. Also ging ich für TestNG anstelle von Spock. Ehrlich gesagt, gab ich Spock keine große Chance.

  5. PageObjects ist eigentlich keine Voraussetzung für Geb, aber PageObjects sind so großartig, dass Sie es nie tun Ich wollte über Geb außerhalb davon nachdenken. PageObjects ist ein niedliches kleines Muster, das besagt, dass Sie die Struktur Ihrer HTML-Seite in ein Objekt einbinden, damit der eigentliche Test nicht damit umgehen muss. Hah. Hab dich. Lassen Sie mich das einfach auf Englisch sagen.

Sagen Sie, Sie haben ein Registrierungsformular mit Eingabefeld, das die ID "namestext" hat. Wie würdest du den Griff der Textbox bekommen? In DOM-Begriffen würden Sie in Javascript einfach ein

tun %Vor%

In Selen würden Sie eine sehr ähnliche Sache machen

%Vor%

Also, wenn Sie Jason in Ihrem Textfeld in Selenium auffüllen möchten, würden Sie a

%Vor%

Wenn Sie das für alle Ihre Eingabefelder tun, werden Ihre Testfälle sehr bald hässlich und hasserfüllt. Stattdessen kapseln Sie in OO-Bedingungen. Sie erstellen eine neue Klasse, sagen Sie RegistrationPage und wickeln Sie Ihre findElement und sendKeys wie in:

%Vor%

und aus Ihrem Testfall würden Sie sagen

%Vor%

(Noch besser ist es, die Eingabewerte in eine Klasse zu packen und an die fillRegistrationForm zu übergeben)

Tatsächlich nutzt Geb PageObjects in einer viel besseren Weise - jQuery-Selektoren für die Rettung

%Vor%

und in Ihrem Testfall würden Sie einfach

sagen %Vor%     
Arun Manivannan 10.01.2013, 01:54
quelle