what is hybrid framework selenium
Αυτό το ενημερωτικό σεμινάριο εξηγεί τι είναι ένα υβριδικό πλαίσιο, χρήσεις και συστατικά στοιχεία του Selenium Hybrid Driven Framework και πώς να το εφαρμόσετε:
Τι είναι ένα υβριδικό πλαίσιο;
Το υβριδικό πλαίσιο οδήγησης είναι ένας συνδυασμός τόσο του πλαισίου βάσει δεδομένων όσο και βάσει λέξεων-κλειδιών.
Εδώ, οι λέξεις-κλειδιά, καθώς και τα δεδομένα δοκιμής, είναι εξωτερικά. Οι λέξεις-κλειδιά διατηρούνται σε ξεχωριστό αρχείο κλάσης Java και τα δεδομένα δοκιμής μπορούν να διατηρηθούν είτε σε ένα αρχείο ιδιοτήτων / αρχείο excel / μπορούν να χρησιμοποιήσουν τον πάροχο δεδομένων ενός πλαισίου TestNG.
=> Δείτε εδώ για να δείτε το A-Z Of Selenium Training Tutorials εδώ.
Τι θα μάθετε:
ποιο είναι το καλύτερο πρόγραμμα κατάργησης κακόβουλου λογισμικού
Εισαγωγή στο υβριδικό πλαίσιο
Εδώ είναι το εκπαιδευτικό βίντεο:
Το υβριδικό οδηγημένο πλαίσιο είναι κυρίωςχρησιμοποιείται από μη αυτόματους υπεύθυνους δοκιμών που δεν έχουνπολύ γνώση των γλωσσών προγραμματισμού. Αυτοί οι άνθρωποι μπορούν απλώς να ρίξουν μια ματιά στις λέξεις-κλειδιά, τα δεδομένα δοκιμής, το αποθετήριο αντικειμένων και να αρχίσουν να δημιουργούν τη δοκιμαστική θήκη αμέσως, χωρίς να χρειάζεται να κωδικοποιήσουν τίποτα στο πλαίσιο.
Συστατικά του υβριδικού πλαισίου
Τα στοιχεία του υβριδικού πλαισίου είναι παρόμοια με τα συστατικά του πλαισίου βάσει λέξεων-κλειδιώνόπου κάθε Δεδομένα δοκιμής, καθώς και οι λέξεις-κλειδιά, εξωτερικεύονται κάνοντας το σενάριο να εμφανίζεται σε μια πιο γενικευμένη μορφή
- Βιβλιοθήκη λειτουργιών
- Φύλλο Excel για αποθήκευση λέξεων-κλειδιών
- Πρότυπο δοκιμής υπόθεσης σχεδίασης
- Αποθήκη αντικειμένων για στοιχεία / εντοπιστές
- Δοκιμή σεναρίων ή σεναρίου προγράμματος οδήγησης
# 1) Βιβλιοθήκη λειτουργιών
Οι μέθοδοι που καθορίζονται από τον χρήστη δημιουργούνται για κάθε ενέργεια χρήστη. Με άλλα λόγια, οι λέξεις-κλειδιά δημιουργούνται στο αρχείο της βιβλιοθήκης.
Για παράδειγμα: Ας πάρουμε ένα παράδειγμα για να αυτοματοποιήσουμε τις παρακάτω δοκιμαστικές περιπτώσεις.
Υπόθεση αριθ | Περιγραφή | Βήματα δοκιμής | Αναμενόμενο Αποτέλεσμα | ||
---|---|---|---|---|---|
AssertElement | xpath | // div (περιέχει (@ id, 'usericon')) | Εκτεθειμένος | ||
ένας | Βεβαιωθείτε ότι υπάρχει το λογότυπο της Amazon | 1. Εισαγάγετε τη διεύθυνση URL - https://www.amazon.com | Το λογότυπο του Amazon πρέπει να εμφανίζεται στην αρχική σελίδα | ||
δύο | Επαλήθευση έγκυρης εισόδου | 1. Εισαγάγετε τη διεύθυνση URL - https://www.amazon.com 2. Κάντε κλικ στο σύνδεσμο «Σύνδεση» 3. Εισαγάγετε έγκυρο email 4. Κάντε κλικ στο συνέχεια 5. Εισαγάγετε έγκυρο κωδικό πρόσβασης 6. Κάντε κλικ στο SignInButton | Το εικονίδιο χρήστη πρέπει να υπάρχει στην αρχική σελίδα | ||
3 | Μη έγκυρη σύνδεση | 1. Εισαγάγετε τη διεύθυνση URL - https://www.amazon.com 2. Κάντε κλικ στο σύνδεσμο «Σύνδεση» 3. Εισαγάγετε μη έγκυρο email 4. Κάντε κλικ στο συνέχεια | Αυτό το μήνυμα σφάλματος πρέπει να περιέχει 'δεν είναι δυνατή η εύρεση λογαριασμού' |
Πρώτον, αναλύονται οι δοκιμαστικές θήκες και τα στάδια δοκιμής της και σημειώνονται οι ενέργειές της.
Πείτε, σε TC 01: Βεβαιωθείτε ότι υπάρχει το λογότυπο Amazon - οι ενέργειες των χρηστών θα είναι: Εισαγάγετε URL
Σε TC 02: Επαλήθευση έγκυρης εισόδου - οι ενέργειες χρήστη είναι Enter URL, Click, TypeIn
Σε TC03: Επαλήθευση μη έγκυρης σύνδεσης - οι ενέργειες των χρηστών είναι Enter URL, Click, TypeIn
Τώρα, το αρχείο βιβλιοθήκης θα δημιουργηθεί με λέξεις-κλειδιά που ορίζονται για κάθε ενέργεια όπως παρακάτω:
καλύτερες εφαρμογές γραφής για τα Windows 10
Keywords.java
package Keywords.Defined; import java.io.File; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; public class Keywords { String path = System.getProperty('user.dir'); WebDriver driver; // driver object is declared //method for entering URL – Keyword is ‘enter_URL’ public void enter_URL(WebDriver driver,String TestData) throws IOException { driver.get(TestData); } //method for typing action – Keyword is ‘type’ public void typeIn(WebDriver driver, String locatorValue, String locatorType, String testdata) { driver.findElement(this.getObject(ObjectName,locatorType)).sendKeys(testdata); } //method for click action – Keyword is ‘click’ public void click(WebDriver driver, String locatorValue, String locatorType) { driver.findElement(this.getObject(ObjectName,locatorType)).click(); } }
# 2) Φύλλο Excel για αποθήκευση λέξεων-κλειδιών
Οι λέξεις-κλειδιά που δημιουργούνται στο αρχείο βιβλιοθήκης αποθηκεύονται σε ένα φύλλο excel με την περιγραφή του για όποιον χρησιμοποιεί αυτό το πλαίσιο για να κατανοήσει.
# 3) Πρότυπο δοκιμής υπόθεσης σχεδίασης
Δημιουργείται ένα πρότυπο δοκιμαστικής υπόθεσης για το πλαίσιο. Δεν υπάρχει συγκεκριμένο πρότυπο για παρακολούθηση. Σύμφωνα με το υβριδικό πλαίσιο, τόσο τα δεδομένα δοκιμής όσο και οι λέξεις-κλειδιά πρέπει να είναι εξωτερικά. Έτσι, δημιουργείται ένα πρότυπο. Για παράδειγμα:
Για δοκιμαστική υπόθεση 2 - Επαληθεύστε την έγκυρη είσοδο
Βήματα δοκιμής | Τύπος εντοπισμού | Τιμή εντοπισμού | Δεδομένα δοκιμής | Τύπος επιβεβαίωσης | Αναμενόμενη αξία |
---|---|---|---|---|---|
enter_URL | https://www.amazon.com | ||||
Κάντε κλικ | xpath | // div (περιέχει (@ id, 'SignIn')) | |||
πληκτρολογήστεIn | xpath | // div (περιέχει (@ id, 'email')) | test@gmail.com | ||
Κάντε κλικ | xpath | // div (περιέχει (@ id, 'συνέχεια')) | |||
πληκτρολογήστεIn | ταυτότητα | Κωδικός πρόσβασης | Κωδικός πρόσβασης 123 | ||
Κάντε κλικ | ταυτότητα | Συνδεθείτε |
Ομοίως, τα βήματα δοκιμής συμπληρώνονται για κάθε περίπτωση δοκιμής σε ξεχωριστό φύλλο.
# 4) Αποθήκη αντικειμένων για στοιχεία
Ένα ξεχωριστό αποθετήριο διατηρείται για όλα τα στοιχεία της ιστοσελίδας. Κάθε WebElement αναφέρεται με ένα όνομα που ακολουθείται από την τιμή του σε ένα αποθετήριο αντικειμένων (σε αυτήν την περίπτωση, είναι ένα αρχείο ιδιοτήτων). Το πρότυπο Test Case θα κρατήσει το Όνομα αντικειμένου και η τιμή του θα ληφθεί από το αποθετήριο όπως παρακάτω:
Εδώ, το LoginLink είναι το όνομα του αντικειμένου και η τιμή του διαβάζεται από το OR.properties ως «// div (περιέχει (@id,« SignIn »))
Κατά συνέπεια, ο κωδικός για την ανάγνωση της τιμής από το ObjectRepository θα συμπεριληφθεί στο script Keywords.java
Για παράδειγμα Αρχείο βιβλιοθήκης: σκεφτείτε την ενέργεια 'κλικ' στο Keywords.java
public class Keywords { public void click(WebDriver driver, String ObjectName, String locatorType) throws IOException{ driver.findElement(this.getObject(ObjectName, locatorType)).click(); } By getObject(String ObjectName, String locatorType) throws IOException{ //Object Repository is opened File file = new File(path+'\Externals\Object Repository.properties'); FileInputStream fileInput = new FileInputStream(file); //Properties file is read Properties prop = new Properties(); //find by xpath if(locatorType.equalsIgnoreCase('XPATH')){ return By.xpath(prop.getProperty(ObjectName)); // ObjectName is read and its value is returned } //find by class else if(locatorType.equalsIgnoreCase('ID')){ return By.Id(prop.getProperty(ObjectName)); // ObjectName is read and its value is returned } //find by name else if(locatorType.equalsIgnoreCase('NAME')){ return By.name(prop.getProperty(ObjectName)); // ObjectName is read and its value is returned } return null; } }
Αντικείμενο αποθετηρίου για δεδομένα δοκιμής σε δοκιμαστικές περιπτώσεις
Επιτρέψτε μου να σας δείξω ένα απλό παράδειγμα για το πώς όλα τα δεδομένα δοκιμής που εμπλέκονται στο σενάριο είναι εξωτερικευμένα, έχοντας το πλαίσιο πιο γενικευμένο.
- Εξωτερικοποίηση δεδομένων δοκιμής από πρότυπο δοκιμαστικής υπόθεσης:
Ομοίως, τα δεδομένα δοκιμής διαβάζονται επίσης από το αρχείο ιδιοτήτων.
- Αντικείμενο αποθετηρίου για δεδομένα δοκιμής σε γενικό σενάριο
Άλλα γενικά δεδομένα όπως όνομα προγράμματος περιήγησης, εκτελέσιμη θέση προγράμματος οδήγησης, όνομα αρχείου δοκιμής κ.λπ. μπορούν επίσης να εξωτερικευτούν σε ξεχωριστό αποθετήριο.
Στο παραπάνω παράδειγμα, η παράμετρος του προγράμματος περιήγησης εξωτερικεύεται σε ένα αρχείο ιδιοτήτων - Basic.properties.
- Διαβίβαση δεδομένων δοκιμής από το TestNG Suite:
Το TestData μπορεί επίσης να περάσει από ένα αρχείο σουίτας του TestNG στη μέθοδο.
Χρησιμοποιούμε μια ετικέτα που ονομάζεται στο αρχείο TestNG.xml ακριβώς πάνω από την κλάση όπου χρησιμοποιείται.
Σύνταξη:
βασικές ερωτήσεις αντιμετώπισης προβλημάτων που τέθηκαν στη συνέντευξη
Μόλις καθοριστεί η δοκιμαστική σουίτα με το όνομα της παραμέτρου και την τιμή της, οι σχολιασμοί χρησιμοποιούνται στο σενάριο για να καθορίσουν ποια μέθοδο χρησιμοποιεί την τιμή. Αυτό προσδιορίζεται χρησιμοποιώντας τον σχολιασμό @Parameters.
Σύνταξη: @Parameters ({“value_to_be_passed”})
Πολλαπλές παράμετροι μπορούν επίσης να περάσουν σε μια μέθοδο όπως:
Σύνταξη:
@Parameters({“Chrome”}, {“ TestCase.xls”}, {“ chromedriver.exe”}) public void init(String Browser, String SheetName, String DriverLocation){ ….. …… ………. }
Λάβετε υπόψη ότι αυτό δεν αναφέρεται σε πολλές τιμές της ίδιας παραμέτρου, αλλά λαμβάνει μόνο πολλές τιμές διαφορετικών παραμέτρων.
# 5) Σενάριο προγράμματος οδήγησης
Αυτό περιέχει την κύρια λογική για την ανάγνωση όλων των δοκιμαστικών περιπτώσεων από το φύλλο excel προτύπου δοκιμαστικής υπόθεσης και εκτελεί την αντίστοιχη ενέργεια διαβάζοντας από το αρχείο βιβλιοθήκης. Το σενάριο σχεδιάζεται με βάση το πρότυπο δοκιμαστικής υπόθεσης που δημιουργήθηκε.
συμπέρασμα
Έτσι, ένα Υβριδικό Πλαίσιο μπορεί να δημιουργηθεί και να χρησιμοποιηθεί για την αυτοματοποίηση οποιασδήποτε εφαρμογής. Αυτό, με τη σειρά του, θα μειώσει τις ανθρωποώρες που δαπανάται για τη δέσμευση του κώδικα αυτοματοποίησης, καθώς ένα πλαίσιο που δημιουργείται μόλις μπορεί να χρησιμοποιηθεί για την αυτοματοποίηση πολλαπλών εφαρμογών.
Ομοίως, τα πλαίσια μπορούν να δημιουργηθούν σύμφωνα με τις ανάγκες του έργου και να χρησιμοποιηθούν για αυτοματισμούς.
Ελπίζουμε να απολαύσατε τη σειρά ενημερωτικών σεμιναρίων στο Selenium!
=> Δείτε όλα τα σεμινάρια σεληνίου εδώ.
Συνιστώμενη ανάγνωση
- Πλαίσιο βάσει δεδομένων στο Selenium WebDriver με χρήση Apache POI
- Δημιουργία Selenium Framework και Πρόσβαση σε δεδομένα δοκιμών από το Excel - Selenium Tutorial # 21
- Εισαγωγή στο JUnit Framework και τη χρήση του στο Σελήνιο Σενάριο - Σελήνιο Tutorial # 11
- Πώς να χρησιμοποιήσετε το TestNG Framework για τη δημιουργία σεναρίων σεληνίου - TestNG Selenium Tutorial # 12
- Δοκιμές βάσει δεδομένων ή παραμετροποιημένες με πλαίσιο Spock
- Cucumber Selenium Tutorial: Αγγούρι Java Selenium WebDriver Integration
- Εισαγωγή στο Selenium WebDriver - Selenium Tutorial # 8
- Πώς να διαβάσετε ή να γράψετε δεδομένα από το φύλλο Excel στο πρόγραμμα οδήγησης Web Selenium