Το σελήνιο είναι ένα υψηλής ποιότητας ανοικτό εργαλείο αυτοματοποίησης δοκιμής πηγής για τη δοκιμή εφαρμογής Ιστού. Το σελήνιο τρέχει στο Internet Explorer, Mozilla και Firefox στα παράθυρα, Linux, και το Macintosh, σαφάρι στη MAC, με τα σχέδια για να υποστηρίξει το σαφάρι στο iPhone σύντομα. Τα χειρόγραφα δοκιμής σελήνιου είναι φορητά, μπορούν να οργανωθούν από τις μηχανές αναζήτησης (που χρησιμοποιούν το σελήνιο IDE) ή από JUNit ή NGUnit (που χρησιμοποιεί το σελήνιο RC) κ.λπ… Παραδείγματος χάριν, τα χειρόγραφα δοκιμής γραπτά χρησιμοποιώντας το σελήνιο IDE σε Firefox στα παράθυρα μπορούν να τρέξουν σε Firefox στη MAC ή Linux, χωρίς αλλαγή οποιουδήποτε κώδικα. Η δοκιμαστική λειτουργία σελήνιου άμεσα στις μηχανές αναζήτησης και έτσι ταιριάζει με την εμπειρία τελικών χρηστών πολύ.

Υπάρχουν τρεις παραλλαγές του σελήνιου, οι οποίες μπορούν να χρησιμοποιηθούν στην απομόνωση ή σε σχέση με για να δημιουργήσουν την πλήρη ακολουθία δοκιμής αυτοματοποίησης για τις αιτήσεις Ιστού σας.

  • Πυρήνας σελήνιου - στον πυρήνα σελήνιου τα χειρόγραφα δοκιμών (που γράφονται στο HTML) και ο δρομέας δοκιμής σελήνιου (που γράφεται σε Javascript) φορτώνονται στον ίδιο κεντρικό υπολογιστή δικτύου που οι οικοδεσπότες η εφαρμογή εσείς προσπαθούν να εξετάσουν. Είναι μια απλούστερη μορφή σελήνιου, και κατάλληλο για τους μη-υπεύθυνους για την ανάπτυξη, αλλά έχει μερικούς έμφυτους περιορισμούς.
  • Σελήνιο IDE - το σελήνιο IDE είναι ένα Firefox plugin, που περιλαμβάνει τον ολόκληρο πυρήνα σελήνιου, επιτρέπει σε σας για να καταγράψει, να παίξει πίσω, να εκδώσει, και να διορθώσει τις δοκιμές στη μηχανή αναζήτησης. Παρέχει την απλούστερη εισαγωγή στο σελήνιο και είναι ιδιαίτερα - συστημένος για τους αρχαρίους. Μπορείτε να σώσετε τις δοκιμές/την ακολουθία δοκιμής που δημιουργούνται στο xml ή το σχήμα HTML. Εντούτοις για να τους τρέξετε σε μια αυτοματοποιημένη μόδα χρειάζεστε τον τηλεχειρισμό σελήνιου που περιγράφεται έπειτα.
  • Τηλεχειρισμός σελήνιου - ο τηλεχειρισμός σελήνιου επιτρέπει σε σας για να αναπτύξει τις περιπτώσεις δοκιμής και τις ακολουθίες δοκιμής στην Ιάβα (υποστηρίξεις JUnit & NGUnit), τα πέσος Φιλιππίνων, το ρουμπίνι, Python, Perl και ακόμη και .NET. Είναι η πιό εύκαμπτη οργάνωση αλλά απαιτεί κάποια γνώση ανάπτυξης στην οργάνωση και τη χρήση.
  • Πλέγμα σελήνιου - το πλέγμα σελήνιου επιτρέπει σε διάφορο σελήνιο τους κεντρικούς υπολογιστές τηλεχειρισμού για να προσεγγιστεί παράλληλα από τον κεντρικό υπολογιστή πλέγματος σελήνιου. Αυτό είναι εξαιρετικά χρήσιμο για την αυτοματοποιημένη δοκιμή φορτίων και πίεσης των εφαρμογών Ιστού.

Σήμερα θα συζητήσουμε στον τρόπο με τον οποίο μπορείτε εύκολα να δημιουργήσετε τα αυτόματα χειρόγραφα δοκιμής χρησιμοποιώντας το σελήνιο IDE και να τα μετατρέψετε στις δοκιμές JUnit (που χρησιμοποιεί τον τηλεχειρισμό σελήνιου) που μπορείτε να προστεθείτε βασισμένη στην στο JUnit αυτόματη ακολουθία δοκιμής οπισθοδρόμησής σας.

Πώς να δημιουργήσει ένα σχέδιο δοκιμής στο σελήνιο IDE

Η δημιουργία ενός σχεδίου δοκιμής στο σελήνιο IDE είναι πολύ εύκολη, έτσι θα το χρησιμοποιήσουμε για να δημιουργήσουμε λίγες απλές δοκιμές για να αρχίσουμε με.

  • Εγκαταστήστε το σελήνιο IDE 0.8.7, ένα Firefox plugin.
  • Μετά από να εγκαταστήσει το σελήνιο παρακαλώ ξαναξεκινήστε τη μηχανή αναζήτησης Firefox σας για το plugin που ενεργοποιείται.
  • Τώρα πρέπει να δείτε ένα νέο προστιθέμενο ονομασμένο στοιχείο σελήνιο IDE επιλογών κάτω από τις επιλογές εργαλείων Firefox σας.
  • Ανοικτός/κοιτάξτε βιαστικά την περιοχή για την οποία θέλετε να προετοιμάσετε μια περίπτωση δοκιμής.
  • Αρχίστε το σελήνιο IDE από Firefox Tools->Selenium IDE.
  • Κοιτάξτε βιαστικά μερικές σελίδες.
  • Τώρα χτυπήστε το κόκκινο κουμπί για να σταματήσετε.

Σε αυτό το σημείο θα δείτε το σελήνιο αυτόματα τις ενέργειές σας. Προσεκτικά σημειώστε τις εντολές, το στόχο και την αξία. Μπορείτε να δημιουργήσετε και να παρεμβάλετε τις εντολές σας τους τροποποιείτε ή ακόμα και διαγράφετε. Θα παρουσιάσουμε μερικά παραδείγματα κατωτέρω. Στο επόμενο τμήμα θα δούμε πώς μπορούμε να τροποποιήσουμε τις παραγμένες δοκιμές για να ανταποκριθούμε στις ανάγκες μας.

Πώς να δημιουργήσει/τροποποιήστε/διαγράψτε τις εντολές σελήνιου

Οι εντολές προεπιλογής που παράγονται από το σελήνιο όταν κοιτάζετε βιαστικά τη σελίδα ως κανονικό χρήστη πρέπει να τροποποιηθούν για να καταστήσουν τη δοκιμή πιό γερή και για να προσθέσουν τις περιπτώσεις δοκιμής σε την.

  • Αντικαταστήστε όλες τις εντολές κρότου από το clickAndWait. χτυπήστε απλά χτυπά τη διευκρινισμένη σύνδεση και πηγαίνει για να εκτελεσθεί η επόμενη εντολή χωρίς αναμονή. Αφ' ενός clickAndWait περιμένει τη νέα σελίδα φορτωμένος πρίν εκτελεί την επόμενη εντολή. clickAndWait πρέπει να χρησιμοποιηθεί για να κάνει τις πιό γερές περιπτώσεις δοκιμής.
  • Η assertTextNotPresent εντολή ενθέτων μετά από κάθε εντολή clickAndWait για να επιβεβαιώσει ένα κείμενο δεν πρέπει να είναι παρούσα στην κοιταγμένη βιαστικά σελίδα.
  • Η assertTextPresent εντολή χρήσης για να επιβεβαιώσει ένα κείμενο πρέπει να είναι παρούσα στην κοιταγμένη βιαστικά σελίδα.
  • Τελικά για να εξετάσει το σχέδιο δοκιμής σας παρακαλώ χτυπήστε το πράσινο κουμπί βελών για να παίξετε από την αρχή ή για να παίξετε από το σημείο έναρξης.
  • Εξάγετε το σχέδιο δοκιμής ως αρχείο της Ιάβας από τη δοκιμή As->Java σελήνιου IDE File->Export - σελήνιο RC (παραδείγματος χάριν το αρχείο - όνομα είναι SeleniumSTSanityTest.java)
  • Κατόπιν στενός η ταυτότητα σελήνιου Firefox σας

Πώς να τρέξει επάνω από τη γραμμή σχεδίων δοκιμής (αυτόματα παραγμένο αρχείο της Ιάβας από το σελήνιο IDE) στις διαταγές;

  • Μεταφορτώστε το σελήνιο RC.
  • Το ανοίξτε φερμουάρ κάτω από τον ίδιο κατάλογο όπου SeleniumSTSanityTest.java (εξαγόμενο σχέδιο δοκιμής όπως το αρχείο της Ιάβας από την ταυτότητα σελήνιου) σώθηκε.
  • Εγκαταστήστε junit.
  • Πηγαίνετε στον κατάλογο όπου ανοίγετε φερμουάρ το αρχείο σελήνιο-μακρινός-έλεγχος-1.0-βήτα-1-dist.zip.
  • Ανοίξτε ένα τερματικό και κάνετε τα βήματα κατωτέρω
    • Cd σελήνιο-μακρινός-έλεγχος-1.0-βήτα-1/selenium-υπολογιστής-1.0-βήτα-1
    • Ιάβα - βάζο σελήνιο-server.jar (για να τρέξει τον κεντρικό υπολογιστή στο διαλογικό τρόπο εκτελέστε την Ιάβα - βάζο σελήνιο-server.jar - διαλογικό)
    • Εάν παίρνετε ένα λάθος όπως το λάθος: com.thoughtworks.selenium.SeleniumException: Εξαίρεση κεντρικών υπολογιστών ΛΑΘΟΥΣ: sessionId δεν πρέπει να είναι μηδενικός αυτή η σύνοδος έχει αρχίσει ακόμα; κατόπιν εξασφαλίστε ότι η μηχανή αναζήτησης είναι στην ΠΟΡΕΙΑ πρίν τρέχει τον κεντρικό υπολογιστή. Παραδείγματος χάριν, θέλετε να τρέξετε τη δοκιμή σε Firefox. Κατόπιν πρέπει να κάνετε έπειτα δύο βήματα.
    • εντοπίστε το firefox-δοχείο (παραδείγματος χάριν επιστρέφει το /usr/lib/firefox-1.5.0.12/firefox-bin)
    • εξαγωγή PATH=$PATH: /usr/lib/firefox- /firefox-δοχείο του 1.5.0.12
      Σημείωση: Υπάρχει ένας εναλλακτικός τρόπος να καθορίσει επάνω από το λάθος (η μηχανή αναζήτησης δεν είναι στην πορεία). Απλά αντικαταστήστε το χρώμιο με την ΠΟΡΕΙΑ μηχανών αναζήτησης στο αρχείο SeleniumSTSanityTest.java. Παραδείγματος χάριν:
      γραμμή
      οργάνωση («http://blog.taragana.com», «*chrome»)
      γίνεται
      οργάνωση («http://blog.taragana.com», «*firefox /usr/lib/firefox-1.5.0.12/firefox-bin»)
      σε SeleniumSTSanityTest.java.
      Για να τρέξετε τη δοκιμή στη μηχανή αναζήτησης οπερών αντικαταστήστε το χρώμιο με την όπερα.

    Τώρα ο κεντρικός υπολογιστής σελήνιου τρέχει και πρέπει να τρέξετε τον πελάτη της Ιάβας που βρίσκεται σε σελήνιο-μακρινός-έλεγχος-1.0-βήτα-1/selenium-Ιάβα-πελάτης-οδηγός-1.0-βήτα-1.

  • Ανοίξτε ένα άλλο τερματικό.
    • εξάγετε CLASSPATH=.: σελήνιο-μακρινός-έλεγχος-1.0-βήτα-1/selenium-Ιάβα-πελάτης-οδηγός-1.0-βήτα-1/selenium-Ιάβα-πελάτης-driver.jar: /usr/share/java/junit.jar
    • javac SeleniumSTSanityTest.java
    • Ιάβα SeleniumSTSanityTest

Το αυτόματα παραγμένο αρχείο SeleniumSTSanityTest.java της Ιάβας είναι πιθανό να έχει μερικές ατέλειες. Αποτύπωση αυτό με τη σύγκριση με το παράδειγμα κατωτέρω:


εισαγωγή com.thoughtworks.selenium.* 
εισαγωγή junit.framework.* 
εισαγωγή java.util.regex. Σχέδιο 

η δημόσια κατηγορία SeleniumSTSanityTest επεκτείνει SeleneseTestCase {
    η δημόσια κενή οργάνωση () ρίχνει την εξαίρεση {
        οργάνωση («http://blog.taragana.com», «*chrome»)  το // για να τρέξει τη δοκιμή στην όπερα αντικαθιστά το χρώμιο με την όπερα
    }
    τα δημόσια κενά testSimpleThoughts () ρίχνουν την εξαίρεση {
        selenium.open ("") 
        assertFalse (selenium.isTextPresent («λάθος βάσεων δεδομένων WordPress: [»))
        assertTrue (selenium.isTextPresent («2003-2008»))
        selenium.open («/index.php/category/programming/java») 
        selenium.waitForPageToLoad («30000») 
        assertFalse (selenium.isTextPresent («λάθος βάσεων δεδομένων WordPress: [»))
        assertTrue (selenium.isTextPresent («2003-2008»))
        selenium.click («//img [Sie zum Deutsch/German']») 
        selenium.waitForPageToLoad («30000 ″) 
        assertFalse (selenium.isTextPresent («λάθος βάσεων δεδομένων WordPress: [»))
        assertTrue (selenium.isTextPresent («2003-»))
        selenium.click («//img [@alt='Přeložit κάνετε Čech/Czech']») 
        selenium.waitForPageToLoad («60000 ″) 
        assertFalse (selenium.isTextPresent («λάθος βάσεων δεδομένων WordPress: [»))
        assertTrue (selenium.isTextPresent («2003»))
    }

    δημόσια στατική ακολουθία δοκιμής () {
        επιστροφή νέο TestSuite (SeleniumSTSanityTest.class) 
    }

    δημόσιος στατικός κενός κεντρικός αγωγός (σειρά args []) {
        junit.textui.TestRunner.run (ακολουθία ())
    }
}

Με ενημερώστε εάν έχετε οποιαδήποτε σχόλια/τις προτάσεις σχετικά με τον τρόπο με τον οποίο μπορούμε να βελτιώσουμε αυτό το σεμινάριο.