Selenium Βασικές επεκτάσεις (User-Extensions.js)

Για να κατανοήσουμε τις επεκτάσεις, ας κατανοήσουμε πρώτα τους τρεις πυλώνες του σεληνίου IDE

  1. Ενέργεια: Ποια λειτουργία εκτελείτε στην οθόνη διεπαφής χρήστη

    Selenium Βασικές επεκτάσεις

  2. Αξιολογητές/Δηλώσεις: Τι επαλήθευση κάνετε στα δεδομένα που λαμβάνετε από τη διεπαφή χρήστη

Selenium Βασικές επεκτάσεις

  1. Στρατηγική εντοπισμού: Πώς μπορούμε να βρούμε το στοιχείο στη διεπαφή χρήστη.

Selenium Βασικές επεκτάσεις

Τώρα, Selenium Το IDE διαθέτει μια πολύ ώριμη βιβλιοθήκη με πολλές ενέργειες, επιβεβαιώσεις/αξιολογητές και στρατηγικές εντοπισμού.

Αλλά μερικές φορές χρειάζεται να προσθέσουμε κάποια επιπλέον λειτουργικότητα σε αυτό για τις απαιτήσεις του έργου μας. Σε αυτήν την περίπτωση, μπορούμε να επεκτείνουμε αυτήν τη βιβλιοθήκη προσθέτοντας τις προσαρμοσμένες επεκτάσεις μας. Αυτές οι προσαρμοσμένες επεκτάσεις ονομάζονται "Επέκταση χρήστη".

Για παράδειγμα, χρειαζόμαστε μια ενέργεια που μπορεί να μετατρέψει το κείμενο σε κεφαλαία πριν το συμπληρώσει σε ένα στοιχείο web. Δεν μπορείτε να βρείτε αυτήν την ενέργεια στην προεπιλεγμένη βιβλιοθήκη ενεργειών. Σε αυτήν την περίπτωση, μπορείτε να δημιουργήσετε τη δική σας «Επέκταση χρήστη». Σε αυτό το σεμινάριο, θα μάθουμε πώς να δημιουργήσουμε επέκταση χρήστη για τη μετατροπή κειμένου σε κεφαλαία

Απαίτηση δημιουργίας Selenium επέκταση χρήστη

Για να δημιουργήσετε επέκταση χρήστη για Selenium IDE, πρέπει να γνωρίζουμε τη βασική έννοια του JavaΓραφή και Java Έννοια αντικειμένου πρωτότυπου σεναρίου.

Απαίτηση για δημιουργία Selenium επέκταση χρήστη

Για να δημιουργήσετε την επέκταση χρήστη, πρέπει να δημιουργήσετε 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;
    };

Πώς να χρησιμοποιήσετε την επέκταση πυρήνα που δημιουργήθηκε πρόσφατα;

  1. Πηγαίνετε στο Selenium IDE

    Κάντε κλικ στις Επιλογές -> Επιλογές…

Χρησιμοποιήστε την επέκταση πυρήνα που δημιουργήθηκε πρόσφατα

  1. Στην ενότητα Γενικά επιλέξτε τη θέση του νέου δημιουργημένου Selenium Επέκταση πυρήνα

    Χρησιμοποιήστε την επέκταση πυρήνα που δημιουργήθηκε πρόσφατα

  2. Κάντε κλικ στο OK και κάντε επανεκκίνηση Selenium IDE

Χρησιμοποιήστε την επέκταση πυρήνα που δημιουργήθηκε πρόσφατα

  1. Θα βρείτε την επέκταση στη λίστα εντολών

Χρησιμοποιήστε την επέκταση πυρήνα που δημιουργήθηκε πρόσφατα

Ακολουθεί μια λίστα με δημοφιλείς επεκτάσεις/προσθήκες που χρησιμοποιούνται 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 που χρησιμοποιείται σε αυτό το σεμινάριο