Selenium Βασικές επεκτάσεις (User-Extensions.js)
Για να κατανοήσουμε τις επεκτάσεις, ας κατανοήσουμε πρώτα τους τρεις πυλώνες του σεληνίου IDE
- Ενέργεια: Ποια λειτουργία εκτελείτε στην οθόνη διεπαφής χρήστη
- Αξιολογητές/Δηλώσεις: Τι επαλήθευση κάνετε στα δεδομένα που λαμβάνετε από τη διεπαφή χρήστη
- Στρατηγική εντοπισμού: Πώς μπορούμε να βρούμε το στοιχείο στη διεπαφή χρήστη.
Τώρα, Selenium Το IDE διαθέτει μια πολύ ώριμη βιβλιοθήκη με πολλές ενέργειες, επιβεβαιώσεις/αξιολογητές και στρατηγικές εντοπισμού.
Αλλά μερικές φορές χρειάζεται να προσθέσουμε κάποια επιπλέον λειτουργικότητα σε αυτό για τις απαιτήσεις του έργου μας. Σε αυτήν την περίπτωση, μπορούμε να επεκτείνουμε αυτήν τη βιβλιοθήκη προσθέτοντας τις προσαρμοσμένες επεκτάσεις μας. Αυτές οι προσαρμοσμένες επεκτάσεις ονομάζονται "Επέκταση χρήστη".
Για παράδειγμα, χρειαζόμαστε μια ενέργεια που μπορεί να μετατρέψει το κείμενο σε κεφαλαία πριν το συμπληρώσει σε ένα στοιχείο web. Δεν μπορείτε να βρείτε αυτήν την ενέργεια στην προεπιλεγμένη βιβλιοθήκη ενεργειών. Σε αυτήν την περίπτωση, μπορείτε να δημιουργήσετε τη δική σας «Επέκταση χρήστη». Σε αυτό το σεμινάριο, θα μάθουμε πώς να δημιουργήσουμε επέκταση χρήστη για τη μετατροπή κειμένου σε κεφαλαία
Απαίτηση δημιουργίας Selenium επέκταση χρήστη
Για να δημιουργήσετε επέκταση χρήστη για Selenium IDE, πρέπει να γνωρίζουμε τη βασική έννοια του JavaΓραφή και Java Έννοια αντικειμένου πρωτότυπου σεναρίου.
Για να δημιουργήσετε την επέκταση χρήστη, πρέπει να δημιουργήσετε Java μεθόδους δέσμης ενεργειών και προσθέστε τις στο πρωτότυπο αντικειμένου σεληνίου και στο πρωτότυπο αντικειμένου PageBot.
Πως Selenium Το IDE αναγνωρίζει την επέκταση χρήστη;
Μετά την προσθήκη της επέκτασης χρήστη σε Selenium IDE όταν ξεκινάμε Selenium IDE, όλες αυτές οι επεκτάσεις στο πρωτότυπο javascript φορτώνονται και Selenium Το IDE τους αναγνωρίζει με το όνομά τους.
Πώς να δημιουργήσετε επέκταση χρήστη
Βήμα 1) Δράση– όλες οι ενέργειες ξεκινούν με "do", δηλαδή εάν η ενέργεια είναι για κεφαλαία από το όνομά της doTextUpperCase. Όταν προσθέτουμε αυτήν τη μέθοδο δράσης στο Selenium SDI, Selenium Το ίδιο το IDE θα δημιουργήσει μια μέθοδο αναμονής για αυτήν την ενέργεια. Έτσι σε αυτή την περίπτωση όταν δημιουργούμε doTextUpperCase δράση, Selenium Το IDE θα δημιουργήσει μια αντίστοιχη συνάρτηση αναμονής ως TextUpperCaseAndWait. Μπορεί να δεχθεί δύο παραμέτρους
Παράδειγμα: Ενέργεια με κεφαλαία γράμματα
Selenium.prototype.doTextUpperCase = function(locator, text) { // Here findElement is itself capable to handle all type of locator(xpath,css,name,id,className), We just need to pass the locator text var element = this.page().findElement(locator); // Create the text to type text = text.toUpperCase(); // Replace the element text with the new text this.page().replaceText(element, text); };
Βήμα 2) Αξιολογητές / Ισχυρισμός- Όλοι οι αξιολογητές που είναι εγγεγραμμένοι στο πρωτότυπο αντικειμένου σεληνίου θα έχουν πρόθεμα
με «πάρε» ή «είναι» Π.χ. getValueFromCompoundTable , isValueFromCompoundTable .Μπορεί να δεχθεί δύο παραμέτρους, μία για τον στόχο και άλλη για το πεδίο τιμών σε δοκιμαστική περίπτωση.
Για κάθε Αξιολογητή, θα υπάρχουν οι αντίστοιχες συναρτήσεις επαλήθευσης με πρόθεμα "verify", "assert" και το πρόθεμα της συνάρτησης αναμονής με "waitFor"
Παράδειγμα: Για αξιολογητές κεφαλαίων κειμένων
Selenium.prototype.assertTextUpperCase = function(locator, text) { // All locator-strategies are automatically handled by "findElement" var element = this.page().findElement(locator); // Create the text to verify text = text.toUpperCase(); // Get the actual element value var actualValue = element.value; // Make sure the actual value matches the expected Assert.matches(expectedValue, actualValue); }; Selenium.prototype.isTextEqual = function(locator, text) { return this.getText(locator).value===text; }; Selenium.prototype.getTextValue = function(locator, text) { return this.getText(locator).value; };
Βήμα 3) Στρατηγική εντοπισμού- Αν θέλουμε να δημιουργήσουμε τη δική μας συνάρτηση για να εντοπίσουμε ένα στοιχείο τότε
πρέπει να επεκτείνουμε το πρωτότυπο PageBot με μια συνάρτηση με πρόθεμα "locateElementBy".
Θα χρειαστούν δύο παράμετροι, η πρώτη θα είναι η συμβολοσειρά εντοπισμού και η δεύτερη θα είναι το έγγραφο
όπου πρέπει να αναζητηθεί.
Παράδειγμα: Για τον εντοπισμό κεφαλαίων κειμένων
// The "inDocument" is a document you are searching. PageBot.prototype.locateElementByUpperCase = function(text, inDocument) { // Create the text to search for var expectedValue = text.toUpperCase(); // Loop through all elements, looking for ones that have // a value === our expected value var allElements = inDocument.getElementsByTagName("*"); // This star '*' is a kind of regular expression it will go through every element (in HTML DOM every element surely have a tag name like<body>,<a>,<h1>,<table>,<tr>,<td> etc. ). Here our motive is to find an element which matched with the Upper Case text we have passed so we will search it with all elements and when we get match we will have the correct web element. for (var i = 0; i < allElements.length; i++) { var testElement = allElements[i]; if (testElement.innerHTML && testElement.innerHTML === expectedValue) { return testElement; } } return null; };
Πώς να χρησιμοποιήσετε την επέκταση πυρήνα που δημιουργήθηκε πρόσφατα;
- Πηγαίνετε στο Selenium IDE
Κάντε κλικ στις Επιλογές -> Επιλογές…
- Στην ενότητα Γενικά επιλέξτε τη θέση του νέου δημιουργημένου Selenium Επέκταση πυρήνα
- Κάντε κλικ στο OK και κάντε επανεκκίνηση Selenium IDE
- Θα βρείτε την επέκταση στη λίστα εντολών
Ακολουθεί μια λίστα με δημοφιλείς επεκτάσεις/προσθήκες που χρησιμοποιούνται Selenium IDE
Όνομα | Σκοπός |
---|---|
αγαπημένα | Για να επισημάνετε μια δοκιμαστική σουίτα ως αγαπημένη και να την εκτελέσετε με ένα κλικ |
Flex Pilot X | Για αυτοματισμούς με βάση το Flex |
FlexMonkium | Για εγγραφή και αναπαραγωγή βάσει Adobe Flex Δοκιμές in Selenium IDE |
Καταγραφή αρχείων | Για αποθήκευση αρχείων καταγραφής σε αρχείο |
Έλεγχος ροής | Για τον έλεγχο της ροής εκτέλεσης της δοκιμής |
Επισημάνετε στοιχεία | Για να επισημάνετε ένα στοιχείο ελέγχου ιστού |
Σιωπηρή αναμονή | Να περιμένετε ένα στοιχείο για συγκεκριμένο χρονικό όριο |
Στιγμιότυπο οθόνης σε αποτυχία | Τραβήξτε ένα στιγμιότυπο οθόνης για την αποτυχία |
Αποτελεσματα Εξετασεων | Αποθήκευση Δοκιμαστική θήκη αποτέλεσμα για μια δοκιμαστική σουίτα με ένα κλικ |
Μπορείτε να πάρετε όλα αυτά και πολλά άλλα από SeleniumΕνότητα λήψης του επίσημου ιστότοπου HQ
http://docs.seleniumhq.org/download/
Περίληψη
- Υπάρχουν τρία μέρη του Selenium Στρατηγική IDE, Action, Assessors/Assertion, Locator.
- Η επέκταση χρήστη δημιουργείται, όταν Selenium Το IDE δεν πληροί την τρέχουσα απαίτηση.
- Για να δημιουργήσετε επέκταση χρήστη απαιτείται η προσθήκη javascript στο πρωτότυπο αντικειμένου του σεληνίου.
- Μετά τη δημιουργία της επέκτασης, απαιτείται η προσθήκη της Selenium IDE και επανεκκινήστε το IDE.
Κατεβάστε το Selenium Core Extension που χρησιμοποιείται σε αυτό το σεμινάριο