Ένα εξαιρετικά ενδιαφέρον acceptance testing framework είναι το
Robot.
Διακρίνεται αφενός για την απλότητα του, καθώς τα βήματα ελέγχου
περιγράφονται σε απλή, φυσική γλώσσα που καταχωρείται στην μορφή κελιών,
παρόμοιων με αυτών ενός φύλλου εργασίας (spreadsheet) Γι' αυτή τη
λειτουργικότητα προσφέρεται το περιβάλλον προγραμματισμού
R(obot)IDE. Αφετέρου, διαθέτει μια μεγάλη λίστα από
βιβλιοθήκες ή επεκτάσεις αν προτιμάτε, ώστε να καλύψει ελέγχους σε βάσεις δεδομένων, συνδέσεις ssh, web services, web user interfaces κλπ.
Για την εκτέλεση σεναρίων σε web σελίδες μπορεί να χρησιμοποιηθεί η βιβλιοθήκη του
Selenium
που είναι εξαιρετικά ισχυρή σε επιλογές ώστε να προσομοιώνει την
καταχώρηση του χρήστη, τα δυναμικά γεγονότα που συμβαίνουν σε μια σελίδα
και να τα αντιπαραβάλει με τα επιθυμητά αποτελέσματα. Προκειμένου να
ξεκινήσει ένα τεστ, μια από τις πρώτες Selenium εντολές που θα
χρησιμοποιήσουμε είναι αυτή του "Open Browser" που επιδέχεται ως όρισμα
και τον τύπο του φυλλομετρητή. Έτσι, μπορούμε να φτιάξουμε μια μεταβλητή
στο Robot (πχ "browser") που θα δηλώνει αυτόν τον τύπο (πχ με τιμή
"firefox" ή "chrome") και αναλόγως να την τροφοδοτούμε. Για παράδειγμα, η
command-line εκτέλεση ενός Robot test suite έχει ως εξής, λαμβάνοντας
ως παράμετρο τον τύπο του browser:
pybot -v browser:firefox /home/user/Projects/testing/robot/testsuite1/TestSuite1.robot
Στις δοκιμές μου σε Ubuntu 13.10 (Saucy Salamander) δεν παρουσιάστηκε
κανένα πρόβλημα με τον Firefox. Υπάρχει όμως μια μικρή σημείωση για την
υποστήριξη του Chromium. Θα χρειαστεί να κατεβάσουμε τον Chrome Webdriver από
εδώ και
να τον τοποθετήσουμε σε ένα φάκελο που βρίσκεται στο PATH μας. Τέλος,
να φτιάξουμε ένα symbolic link του Chromium για το alias google-chrome:
ln -s /usr/bin/chromium-browser /usr/bin/google-chrome