top 25 selenium webdriver commands that you should know
Κορυφαίες εντολές Selenium WebDriver - Ένας φαινομενικός οδηγός για τους αυτοματισμούς
Το Selenium WebDriver είναι ένα από τα πιο δημοφιλή εργαλεία αυτοματισμού ιστότοπου ανοιχτού κώδικα. Οι περισσότεροι από τους δοκιμαστές αυτοματισμού μου προτιμούν τον συνδυασμό WebDriver με Java.
Σε αυτό το σεμινάριο, θα συζητήσω 25 εντολές Selenium WebDriver που χρησιμοποιούνται συνήθως μαζί με τη σχετική σύνταξή τους και απλά παραδείγματα για την εύκολη κατανόησή σας.
Τι θα μάθετε:
- Τύποι εντολών στο WebDriver
- Κορυφαίες 7 εντολές σεληνίου με λεπτομέρειες
- Λίστα 25 πιο δημοφιλών εντολών και παραδειγμάτων WebDriver
- # 1) λήψη ()
- # 2) getCurrentUrl ()
- # 3) findElement (Από, από) και κάντε κλικ στο ()
- # 4) είναι ενεργοποιημένο ()
- # 5) findElement (Από, από) με sendKeys ()
- # 6) findElement (Από, από) με getText ()
- # 7) Υποβολή ()
- # 8) findElements (Από, από)
- # 9) findElements (By, by) με μέγεθος ()
- # 10) σελίδαLoadTimeout (ώρα, μονάδα)
- # 11) σιωπηρά Περιμένετε ()
- # 12) μέχρι () και ορατότηταOfElementLocated ()
- # 13) μέχρι () και alertIsPresent ()
- # 14) getTitle ()
- # 15) Επιλέξτε
- # 16) πλοήγηση ()
- # 17) getScreenshotAs ()
- # 18) μετακίνησηToElement ()
- # 19) dragAndDrop ()
- # 20) switchTo () και αποδοχή (), απόρριψη () και sendKeys ()
- # 21) getWindowHandle () και getWindowHandles ()
- # 22) getConnection ()
- # 23) Τότε
- # 24) assertEquals (), assertNotEquals (), assertTrue () και assertFalse ()
- # 25) κλείσιμο () και κλείσιμο ()
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Τύποι εντολών στο WebDriver
Στο τελευταίο σεμινάριο σεληνίου , συζητήσαμε το διαφορετικοί τύποι ειδοποιήσεων που συναντήθηκαν κατά τη δοκιμή εφαρμογών που βασίζονται στον Ιστό και τους αποτελεσματικούς τρόπους χειρισμού τους. Συζητήσαμε και τους δύο τύπους ειδοποιήσεων, δηλ. 'Ειδοποιήσεις βάσει ιστού' και 'Ειδοποιήσεις βάσει παραθύρου'. Σας γνωστοποιήσαμε επίσης ένα άλλο βοηθητικό πρόγραμμα που βασίζεται σε Java και ονομάζεται 'Robot Class' για να χειριστείτε το αναδυόμενο παράθυρο που βασίζεται σε Windows.
Προχωρώντας μπροστά αυτή η σειρά εκμάθησης Selenium WebDriver , θα πιέζαμε διάφορες εντολές Selenium WebDriver που χρησιμοποιούνται συνήθως και τακτικά . Θα συζητήσουμε με ακρίβεια και σύντομα καθεμία από αυτές τις εντολές Selenium, ώστε να σας κάνουμε σε θέση να χρησιμοποιείτε αυτές τις εντολές αποτελεσματικά κάθε φορά που προκύπτει η κατάσταση.
Κάθε αυτοματοποιημένο αρχείο εργασίας Java ξεκινά με τη δημιουργία μιας αναφοράς του προγράμματος περιήγησης ιστού που επιθυμούμε να χρησιμοποιήσουμε όπως αναφέρεται στην παρακάτω σύνταξη.
Υπάρχουν πολλές μέθοδοι που είναι διαθέσιμες από τη διεπαφή Webdriver. Αυτές οι μέθοδοι έχουν πρόσβαση χρησιμοποιώντας τη μεταβλητή παρουσίας οδηγός σε απλή μορφή driver.methodName (); . Όλα αυτά τα έργα αυτοματισμού περιλαμβάνουν την κλήση αυτών των μεθόδων και τη σύγκριση και αξιολόγηση του τι πραγματικά επιστρέφουν.
Με απλούς όρους, μπορούμε γενικά να ταξινομήσουμε τις εντολές Webdriver ως:
- Εντολές προγράμματος περιήγησης,
- Λάβετε εντολές,
- Εντολές πλοήγησης,
- Εντολές Webelement,
- Εντολές δράσης και
- Εντολές αποτελεσμάτων.
Από το πλαίσιο της μη αυτόματης δοκιμής, το αποτέλεσμα μιας δοκιμής, είτε PASS είτε FAIL αποφασίζεται από τις εντολές Αποτέλεσμα που συγκρίνουν συνήθως τα αναμενόμενα & πραγματικά αποτελέσματα και τα υπόλοιπα είναι βήματα Testcase.
Κορυφαίες 7 εντολές σεληνίου με λεπτομέρειες
Για να έχουμε μια γενική ιδέα, θα συζητούσαμε τις ακόλουθες εντολές Selenium WebDriver και τις διαφορετικές εκδόσεις τους:
- παίρνω() μεθόδους
- Εντοπισμός συνδέσμων από linkText () και partialLinkText ()
- Επιλογή πολλών στοιχείων σε ένα αναπτυσσόμενο μενού
- Υποβολή φόρμας
- Χειρισμός iframes
- Κλείσε() και εγκαταλείπω() μεθόδους
- Χειρισμός εξαίρεσης
# 1) get () Μέθοδοι
Εντολή WebDriver | Χρήση |
---|---|
getAttribute () | • Η εντολή χρησιμοποιείται για την ανάκτηση της τιμής του καθορισμένου χαρακτηριστικού • Η εντολή απαιτεί μία παράμετρο συμβολοσειράς που αναφέρεται σε ένα χαρακτηριστικό του οποίου η τιμή επιθυμούμε να γνωρίζουμε και ως αποτέλεσμα επιστρέφει μια τιμή συμβολοσειράς. driver.findElement (By.id ('findID')). getAttribute ('τιμή'); |
παίρνω() | • Η εντολή ξεκινά ένα νέο πρόγραμμα περιήγησης και ανοίγει το καθορισμένο URL στην παρουσία του προγράμματος περιήγησης • Η εντολή λαμβάνει μια παράμετρο τύπου μονής συμβολοσειράς που είναι συνήθως μια διεύθυνση URL της υπό δοκιμή εφαρμογής • Για τους χρήστες Selenium IDE, η εντολή μπορεί να μοιάζει πολύ με την ανοιχτή εντολή driver.get ('https://google.com'); |
getClass () | Η εντολή χρησιμοποιείται για την ανάκτηση του αντικειμένου κλάσης που αντιπροσωπεύει την κλάση χρόνου εκτέλεσης αυτού του αντικειμένου driver.getClass (); |
getCurrentUrl () | • Η εντολή χρησιμοποιείται για την ανάκτηση της διεύθυνσης URL της ιστοσελίδας στην οποία έχει πρόσβαση ο χρήστης • Η εντολή δεν απαιτεί καμία παράμετρο και επιστρέφει μια τιμή συμβολοσειράς driver.getCurrentUrl (); |
getPageSource () | • Η εντολή χρησιμοποιείται για την ανάκτηση της πηγής της σελίδας της ιστοσελίδας στην οποία έχει πρόσβαση ο χρήστης • Η εντολή δεν απαιτεί καμία παράμετρο και επιστρέφει μια τιμή συμβολοσειράς • Η εντολή μπορεί να χρησιμοποιηθεί με διάφορες λειτουργίες συμβολοσειράς όπως περιέχει () για να εξακριβώσει το παρουσία της καθορισμένης τιμής συμβολοσειράς boolean result = driver.getPageSource (). περιέχει ('String to find'); |
getTitle () | • Η εντολή χρησιμοποιείται για την ανάκτηση του τίτλου της ιστοσελίδας στην οποία εργάζεται ο χρήστης. Μια μηδενική συμβολοσειρά επιστρέφεται εάν η ιστοσελίδα δεν έχει τίτλο • Η εντολή δεν απαιτεί καμία παράμετρο και επιστρέφει μια περικομμένη τιμή συμβολοσειράς String title = driver.getTitle (); |
getText () | • Η εντολή χρησιμοποιείται για την ανάκτηση του εσωτερικού κειμένου του καθορισμένου στοιχείου ιστού • Η εντολή δεν απαιτεί καμία παράμετρο και επιστρέφει μια τιμή συμβολοσειράς • Είναι επίσης μία από τις εκτενώς χρησιμοποιούμενες εντολές για την επαλήθευση μηνυμάτων, ετικετών, σφαλμάτων κ.λπ. στις ιστοσελίδες. String Text = driver.findElement (By.id ('Text')). GetText (); |
getWindowHandle () | • Η εντολή χρησιμοποιείται για την αντιμετώπιση της κατάστασης όπου έχουμε περισσότερα από ένα παράθυρο για να αντιμετωπίσουμε. • Η εντολή μας βοηθά να μεταβούμε στο νέο παράθυρο και εκτελεί ενέργειες στο νέο παράθυρο. Ο χρήστης μπορεί επίσης να επιστρέψει στο προηγούμενο παράθυρο εάν το επιθυμεί. private String winHandleBefore; winHandleBefore = driver.getWindowHandle (); driver.switchTo (). παράθυρο (winHandleBefore); |
getWindowHandles () | • Η εντολή είναι παρόμοια με εκείνη του 'getWindowHandle ()' με τη λεπτή διαφορά που βοηθά στην αντιμετώπιση πολλαπλών παραθύρων, δηλαδή όταν πρέπει να αντιμετωπίσουμε περισσότερα από 2 παράθυρα. |
Το απόσπασμα κώδικα για το 'getWindowHandles ()' δίνεται παρακάτω:
public void explicitWaitForWinHandle(final WebDriver dvr, int timeOut, final boolean close) throws WeblivException { try { Wait wait = new WebDriverWait(dvr, timeOut); ExpectedCondition condition = new ExpectedCondition() { @Override public Boolean apply(WebDriver d) { int winHandleNum = d.getWindowHandles().size(); if (winHandleNum > 1) { // Switch to new window opened for (String winHandle : d.getWindowHandles()) { dvr.switchTo().window(winHandle); // Close the delete window as it is not needed if (close && dvr.getTitle().equals('Demo Delete Window')) { dvr.findElement(By.name('ok')).click(); } } return true; } return false; } };
# 2) Εντοπισμός συνδέσμων μέσω linkText () και partialLinkText ()
Ας αποκτήσουμε πρόσβαση στο 'google.com' και στο 'abodeqa.com' χρησιμοποιώντας linkText () και partialLinText () μεθόδους του WebDriver.
Μπορείτε να έχετε πρόσβαση στους παραπάνω συνδέσμους χρησιμοποιώντας τις ακόλουθες εντολές:
οδηγός .findElement (By.linkText ( 'Google' )).Κάντε κλικ();
οδηγός .findElement (By.linkText ( AbodeQA )).Κάντε κλικ();
Η εντολή βρίσκει το στοιχείο χρησιμοποιώντας κείμενο συνδέσμου και στη συνέχεια κάντε κλικ σε αυτό το στοιχείο και έτσι ο χρήστης θα κατευθυνθεί ξανά στην αντίστοιχη σελίδα.
Οι προαναφερθέντες σύνδεσμοι μπορούν επίσης να προσεγγιστούν χρησιμοποιώντας τις ακόλουθες εντολές:
οδηγός .findElement (By.partialLinkText ( 'Κόλλα' )).Κάντε κλικ();
οδηγός .findElement (By.partialLinkText ( 'κατοικία' )).Κάντε κλικ();
Οι παραπάνω δύο εντολές βρίσκουν τα στοιχεία με βάση το υπόστρωμα του συνδέσμου που παρέχεται στην παρένθεση και έτσι το partialLinkText () βρίσκει το στοιχείο ιστού με το καθορισμένο substring και στη συνέχεια κάνει κλικ σε αυτό.
# 3) Επιλογή πολλών στοιχείων σε ένα αναπτυσσόμενο μενού
Υπάρχουν κυρίως δύο είδη αναπτυσσόμενων μενού:
- Αναπτυσσόμενο μενού μίας επιλογής : Ένα αναπτυσσόμενο μενού που επιτρέπει την επιλογή μίας μόνο τιμής κάθε φορά.
- Αναπτυσσόμενο μενού πολλαπλών επιλογών : Ένα αναπτυσσόμενο μενού που επιτρέπει την επιλογή πολλαπλών τιμών κάθε φορά.
Εξετάστε τον παρακάτω κώδικα HTML για ένα αναπτυσσόμενο μενού που μπορεί να επιλέξει πολλές τιμές ταυτόχρονα.
Red Green Yellow Grey
Το παρακάτω απόσπασμα κώδικα απεικονίζει τις πολλαπλές επιλογές σε ένα αναπτυσσόμενο μενού.
// select the multiple values from a dropdown Select selectByValue = new Select(driver.findElement(By.id('SelectID_One'))); selectByValue.selectByValue('greenvalue'); selectByValue.selectByVisibleText('Red'); selectByValue.selectByIndex(2);
# 4) Υποβολή φόρμας
Οι περισσότεροι ή σχεδόν όλοι οι ιστότοποι έχουν φόρμες που πρέπει να συμπληρωθούν και να υποβληθούν κατά τη δοκιμή μιας εφαρμογής ιστού. Ο χρήστης μπορεί να συναντήσει διάφορους τύπους φορμών όπως φόρμα σύνδεσης, φόρμα εγγραφής, φόρμα αποστολής αρχείων, φόρμα δημιουργίας προφίλ κ.λπ.
Στο WebDriver, ένας χρήστης αξιοποιείται με μια μέθοδο που έχει δημιουργηθεί ειδικά για την υποβολή μιας φόρμας. Ο χρήστης μπορεί επίσης να χρησιμοποιήσει τη μέθοδο κλικ για να κάνει κλικ στο κουμπί υποβολής ως υποκατάστατο του κουμπιού υποβολής.
Ρίξτε μια ματιά στο παρακάτω απόσπασμα κώδικα με την παραπάνω φόρμα 'νέος χρήστης':
// enter a valid username driver.findElement(By. id ('username')).sendKeys('name'); // enter a valid email address driver.findElement(By. id ('email')).sendKeys('name@abc.com'); // enter a valid password driver.findElement(By. id ('password')).sendKeys('namepass'); // re-enter the password driver.findElement(By. id ('passwordConf')).sendKeys('namepass'); // submit the form driver.findElement(By. id ('submit')).submit();
Έτσι, μόλις ο έλεγχος προγράμματος εντοπίσει τη μέθοδο υποβολής, εντοπίζει το στοιχείο και ενεργοποιεί το υποβάλλουν() μέθοδος στο στοιχείο ιστού που βρέθηκε.
# 5) Διαχείριση iframe
Κατά την αυτοματοποίηση εφαρμογών ιστού, ενδέχεται να υπάρχουν καταστάσεις όπου απαιτείται να αντιμετωπίζουμε πολλαπλά καρέ σε ένα παράθυρο. Έτσι, ο προγραμματιστής δοκιμαστικών σεναρίων απαιτείται να εναλλάσσεται μεταξύ διαφόρων καρέ ή iframe για αυτό το θέμα.
Ένα inline πλαίσιο αρκτικόλεξο ως iframe χρησιμοποιείται για την εισαγωγή ενός άλλου εγγράφου στο τρέχον έγγραφο HTML ή απλώς μιας ιστοσελίδας σε μια άλλη ιστοσελίδα ενεργοποιώντας την ένθεση.
Εξετάστε τον ακόλουθο κώδικα HTML που έχει το iframe στην ιστοσελίδα:
Software Testing Help - iframe session
Ο παραπάνω κώδικας HTML δείχνει την παρουσία ενός ενσωματωμένου iframe σε ένα άλλο iframe. Επομένως, για να είναι δυνατή η πρόσβαση στο θυγατρικό iframe, απαιτείται ένας χρήστης να πλοηγηθεί πρώτα στο γονικό iframe. Μετά την εκτέλεση της απαιτούμενης λειτουργίας, ενδέχεται να απαιτείται από έναν χρήστη να επιστρέψει στο γονικό iframe για να αντιμετωπίσει το άλλο στοιχείο της ιστοσελίδας.
Είναι αδύνατο εάν ένας χρήστης προσπαθήσει να αποκτήσει απευθείας πρόσβαση στο θυγατρικό iframe χωρίς να περάσει πρώτα στο γονικό iframe.
Επιλέξτε iframe κατά id
οδηγός .switchTo (). πλαίσιο ( ' Αναγνωριστικό του πλαισίου ' );
Εντοπισμός iframe χρησιμοποιώντας tagName
Κατά τον εντοπισμό ενός iframe, ο χρήστης ενδέχεται να αντιμετωπίσει κάποιο πρόβλημα εάν το iframe δεν αποδίδεται με τυπικές ιδιότητες. Γίνεται μια περίπλοκη διαδικασία για τον εντοπισμό του πλαισίου και τη μετάβαση σε αυτό. Για να αντιμετωπίσει την κατάσταση, ένας χρήστης είναι μοχλός για να εντοπίσει ένα iframe χρησιμοποιώντας μια μέθοδο tagName παρόμοια με τον τρόπο που βρίσκουμε οποιοδήποτε άλλο στοιχείο ιστού στο WebDriver.
driver.switchTo (). frame (driver.findElements (By.tagName ('iframe'). get (0));
Η παραπάνω εντολή εντοπίζει το πρώτο στοιχείο ιστού με το καθορισμένο όνομα ετικέτας και μεταβαίνει σε αυτό το iframe. 'Get (0) χρησιμοποιείται για τον εντοπισμό του iframe με την τιμή ευρετηρίου.' Έτσι, σύμφωνα με τον κώδικα HTML, η παραπάνω σύνταξη κώδικα θα οδηγούσε τον έλεγχο προγράμματος να μεταβεί στο 'ParentFrame'.
Εντοπισμός iframe χρησιμοποιώντας το ευρετήριο:
α) πλαίσιο (ευρετήριο)
driver.switchTo (). πλαίσιο (0);
β) πλαίσιο (Όνομα πλαισίου)
driver.switchTo (). frame ('όνομα του πλαισίου');
γ) πλαίσιο (στοιχείο WebElement)
Επιλέξτε Παράθυρο γονέα
driver.switchTo (). defaultContent ();
Η παραπάνω εντολή φέρνει τον χρήστη πίσω στο αρχικό παράθυρο, δηλαδή και από τα δύο iframes.
# 6) κλείστε () και κλείστε () μεθόδους
Υπάρχουν δύο τύποι εντολών στο WebDriver για να κλείσετε την παρουσία του προγράμματος περιήγησης ιστού.
α) κλείσιμο () : Η μέθοδος WebDriver's close () κλείνει το παράθυρο του προγράμματος περιήγησης στο Web στο οποίο εργάζεται ο χρήστης ή μπορούμε επίσης να πούμε το παράθυρο στο οποίο γίνεται πρόσβαση το WebDriver. Η εντολή δεν απαιτεί καμία παράμετρο ούτε επιστρέφει καμία τιμή.
β) σταματήστε () : Σε αντίθεση με τη μέθοδο close (), η μέθοδος quit () κλείνει όλα τα παράθυρα που έχει ανοίξει το πρόγραμμα. Όπως και η μέθοδος close (), η εντολή δεν απαιτεί καμία παράμετρο ούτε επιστρέφει καμία τιμή.
Ανατρέξτε στα παρακάτω αποσπάσματα κώδικα:
οδηγός .Κλείσε(); // κλείνει μόνο ένα παράθυρο στο οποίο έχει πρόσβαση η παρουσία WebDriver αυτήν τη στιγμή
οδηγός .εγκαταλείπω(); // κλείνει όλα τα παράθυρα που άνοιξαν από την παρουσία WebDriver
# 7) Χειρισμός εξαίρεσης
Εξαιρέσεις είναι οι συνθήκες ή καταστάσεις που σταματούν απροσδόκητα την εκτέλεση του προγράμματος.
Οι λόγοι για τέτοιες καταστάσεις μπορεί να είναι:
- Σφάλματα που εισήγαγε ο χρήστης
- Σφάλματα που δημιουργήθηκαν από τον προγραμματιστή
- Σφάλματα που δημιουργούνται από φυσικούς πόρους
Έτσι, για να αντιμετωπιστούν αυτές οι απροσδόκητες συνθήκες, ο χειρισμός εξαιρέσεων ήταν εννοιολογικός.
Όσον αφορά τον κώδικα Java που εφαρμόζουμε κατά την αυτοματοποίηση μιας εφαρμογής ιστού μπορεί να περικλείεται μέσα σε ένα μπλοκ που είναι ικανό να παρέχει έναν μηχανισμό χειρισμού έναντι των λανθασμένων συνθηκών.
Κατακτώντας μια εξαίρεση
Για να πάρουμε μια εξαίρεση, χρησιμοποιούμε το παρακάτω μπλοκ κώδικα
try{ // Protected block // implement java code for automation } catch (ExceptionName e) { // catch block - Catches the exceptions generated in try block without halting the program execution }
Εάν προκύψει κάποια εξαίρεση στο μπλοκ δοκιμής / προστατευμένο μπλοκ, τότε τα στοιχεία ελέγχου εκτέλεσης ελέγχουν για ένα μπλοκ σύλληψης για τον αντίστοιχο τύπο εξαίρεσης και περνά την εξαίρεση σε αυτό χωρίς να σπάσει την εκτέλεση του προγράμματος.
Πολλαπλά μπλοκ σύλληψης
try{ //Protected block } catch (ExceptionType1 e) { // catch block } catch (ExceptionType2 e) { // catch block } catch (ExceptionType3 e) { // catch block }
Στον παραπάνω κώδικα, μια εξαίρεση είναι πιθανό να παγιδευτεί στο πρώτο μπλοκ αλιευμάτων εάν ο τύπος εξαίρεσης αντιστοιχεί. Εάν ο τύπος εξαίρεσης δεν ταιριάζει, τότε η εξαίρεση διασχίζεται στο δεύτερο μπλοκ αλίευσης και στο τρίτο μπλοκ αλίευσης και ούτω καθεξής έως ότου γίνει η επίσκεψη σε όλα τα μπλοκ.
Συνθήκες WebDriver και Χειρισμός Εξαίρεσης
Όταν επιδιώκουμε να επαληθεύσουμε την παρουσία οποιουδήποτε στοιχείου στην ιστοσελίδα χρησιμοποιώντας διάφορες εντολές υπό όρους του WebDriver, το WebDriver προϋποθέτει ότι το στοιχείο ιστού υπάρχει στην ιστοσελίδα. Εάν το στοιχείο ιστού δεν υπάρχει στην ιστοσελίδα, οι εντολές υπό όρους ρίχνουν ένα 'NoSuchElementPresentException'. Έτσι, για να αποφύγουμε τέτοιες εξαιρέσεις από τη διακοπή της εκτέλεσης του προγράμματος, χρησιμοποιούμε μηχανισμούς Exception Handling. Ανατρέξτε στο παρακάτω απόσπασμα κώδικα:
WebElement saveButton = driver.findElement(By.id('Save')); try{ if(saveButton.isDisplayed()){ saveButton.click(); } } catch(NoSuchElementException e){ e.printStackTrace(); }
Λίστα 25 πιο δημοφιλών εντολών και παραδειγμάτων WebDriver
Παρακάτω δίνεται η λίστα με τις 25 κορυφαίες εντολές Webdriver που χρησιμοποιούνται συνήθως που πρέπει να γνωρίζει κάθε αυτοματοποιητής.
Ας αναλύσουμε λεπτομερώς αυτές τις εντολές μία προς μία.
Περαιτέρω ανάγνωση => Εκμάθηση Selenium WebDriver
# 1) λήψη ()
Εντολή χρησιμοποιώντας το get () για να ανοίξετε μια διεύθυνση URL στο τρέχον πρόγραμμα περιήγησης.
Η παρακάτω εντολή θα ανοίξει την καθορισμένη διεύθυνση URL, «https://www.softwaretestinghelp.com» στο πρόγραμμα περιήγησης.
Σύνταξη:
driver.get('https://www.softwaretestinghelp.com');
Εξήγηση:
- Μεταβείτε στη διεύθυνση URL https://www.softwaretestinghelp.com
# 2) getCurrentUrl ()
Εντολή χρησιμοποιώντας το getCurrentUrl () για να ελέγξετε αν η διεύθυνση URL είναι σωστή.
Η παρακάτω εντολή λαμβάνει την τρέχουσα διεύθυνση URL σε μορφή συμβολοσειράς.
Σύνταξη:
πώς να ανοίξετε το αρχείο apk σε τηλέφωνο Android
driver.getCurrentUrl();
Συνήθως χρησιμοποιούμε αυτήν τη μέθοδο σε εντολές για να ελέγξουμε εάν έχουμε μεταβεί στη σωστή σελίδα όπως αναμενόταν. Για αυτό, πρέπει να χρησιμοποιήσουμε το Assert όπως φαίνεται παρακάτω Παράδειγμα .
Σύνταξη:
Assert.assertEquals(expectedUrl, driver.getCurrentUrl());
Όπου αναμένεταιUrl είναι η διεύθυνση URL που αναμένεται σε μορφή συμβολοσειράς.
Εξήγηση:
- Ελέγξτε και βεβαιωθείτε ότι η διεύθυνση URL που φορτώθηκε παραμένει η ίδια και η σωστή σελίδα έχει φορτωθεί.
# 3) findElement (Από, από) και κάντε κλικ στο ()
findElement (Από, από) και κάντε κλικ στο () για να κάνετε κλικ σε οποιοδήποτε στοιχείο της ιστοσελίδας.
Η μέθοδος findElement (By, by) αναζητά και εντοπίζει το πρώτο στοιχείο στην τρέχουσα σελίδα, το οποίο ταιριάζει με τα κριτήρια που δίνονται ως παράμετρος. Αυτή η μέθοδος χρησιμοποιείται συνήθως σε εντολές για προσομοίωση ενεργειών χρήστη όπως κλικ, υποβολή, πληκτρολόγηση κ.λπ.
Η παρακάτω εντολή αναζητά και εντοπίζει το πρώτο στοιχείο στην ιστοσελίδα με αναγνωριστικό 'subm1' και κάνει κλικ σε αυτό εάν δεν καλύπτεται.
Σύνταξη:
driver.findElement(By.id('submit1')).click();
Το στοιχείο μπορεί να εντοπιστεί χρησιμοποιώντας ταυτότητα , Ονομα , Τάξη Ονομα , Όνομα ετικέτας , Κείμενο συνδέσμου & Μερικό κείμενο συνδέσμου , Επιλογέας CSS και X Path .
Εξήγηση:
- Αναζητήστε το απαιτούμενο κουμπί Υποβολή.
- Κάντε κλικ στο κουμπί.
Η παρακάτω εντολή επιλέγει ένα στοιχείο από το πλαίσιο λίστας.
Σύνταξη:
WebElement roleDropdown = driver.findElement(By.id('name1'); roleDropdown.click();
Εξήγηση:
- Αναζητήστε και εντοπίστε το στοιχείο λίστας με αναγνωριστικό 'name1'.
- Κάντε κλικ σε αυτό το αντικείμενο.
# 4) είναι ενεργοποιημένο ()
isEnabled () για να ελέγξετε εάν το στοιχείο είναι ενεργοποιημένο ή απενεργοποιημένο στο Selenium WebDriver.
Για να ελέγξουμε εάν ένα συγκεκριμένο στοιχείο είναι ενεργοποιημένο σε μια ιστοσελίδα, χρησιμοποιούμε τη μέθοδο isEnabled ().
Σύνταξη:
boolean textBox = driver.findElement(By.xpath('//input(@name='textbox1')')).isEnabled();
Εξήγηση:
- Βρίσκει το στοιχείο στην ιστοσελίδα σύμφωνα με το xpath και ελέγχει εάν το στοιχείο είναι ενεργοποιημένο.
# 5) findElement (Από, από) με sendKeys ()
findElement (By, by) με sendKeys () για να πληκτρολογήσετε στα πεδία φόρμας.
Έλεγχοι επικύρωσης φόρμας εισάγοντας τις διαφορετικές εισόδους χρήστη που απαιτούνται συχνά κατά τη δοκιμή αυτοματισμού. Χρησιμοποιούμε το findElement (By, by) για να εντοπίσουμε τα πεδία και το sendKeys () για να πληκτρολογήσουμε κάποιο περιεχόμενο σε ένα επεξεργάσιμο πεδίο.
Η παρακάτω εντολή χρησιμοποιεί το όνομα εντοπιστή για να βρει το πεδίο φόρμας και να πληκτρολογήσει 'Aaron' σε αυτό.
Σύνταξη:
driver.findElement(By.name('name')).sendkeys('Aaron');
Εξήγηση:
- Αναζητήστε το απαιτούμενο πεδίο ονόματος στη φόρμα.
- Εισαγάγετε την τιμή 'Aaron' σε αυτό.
# 6) findElement (Από, από) με getText ()
findElement (By, by) με getText () για να αποθηκεύσετε την τιμή στοχευμένου στοιχείου ιστού.
Το getText () είναι μια μέθοδος που σας δίνει το εσωτερικό κείμενο του στοιχείου ιστού. Λήψη κειμένου είναι το κείμενο μέσα στις ετικέτες HTML.
Ο παρακάτω κώδικας βρίσκει το Στοιχείο με το tagName 'select' και παίρνει το κείμενο μέσα στην ετικέτα και το αποθηκεύει σε ένα μεταβλητό αναπτυσσόμενο μενού. Τώρα το String dropDown μπορεί να χρησιμοποιηθεί για περαιτέρω ενέργειες μέσα στο πρόγραμμα.
Σύνταξη:
String dropDown = driver.findElement(By.tagName('dropdown1')).getText();
Εξήγηση:
- Αναζητήστε το απαιτούμενο πεδίο στη φόρμα που έχει το tagName 'dropdown1'.
- Πάρτε το κείμενο μέσα στην ετικέτα HTML.
- Αποθηκεύστε το κείμενο στο αντικείμενο String 'DropDown'.
# 7) Υποβολή ()
Υποβολή () για να υποβάλετε μια φόρμα ιστού.
Η μέθοδος κλικ () που συζητήσαμε παραπάνω μπορεί να χρησιμοποιηθεί για κλικ σε συνδέσμους ή κουμπιά. Η υποβολή () είναι μια καλύτερη εναλλακτική λύση στο κλικ () εάν το στοιχείο που πρέπει να κάνετε κλικ είναι ένα κουμπί υποβολής. Το κουμπί υποβολής βρίσκεται μέσα στην ετικέτα «φόρμα» HTML και ο τύπος κουμπιού είναι «υποβολή» (όχι «κουμπί»).
Η υποβολή () διευκολύνει τη ζωή βρίσκοντας αυτόματα το κουμπί και τη μέθοδο που μπορεί να προσαρτηθεί σε οποιοδήποτε άλλο πεδίο, όπως όνομα ή διεύθυνση email. Σε περίπτωση κλικ, πρέπει να χρησιμοποιήσουμε τη μέθοδο findElement (By, by) και να καθορίσουμε τους σωστούς εντοπιστές.
Σε ορισμένα σενάρια όπου η ενέργεια γίνεται μέσω στοιχείων εκτός από ένα κουμπί, η υποβολή () λειτουργεί και το κλικ () δεν θα.
Σύνταξη:
driver.findElement(By.xpath('//input(@name='comments')')).submit();
Εξήγηση:
- Βρείτε στοιχείο στη δεδομένη διαδρομή x με το όνομα «σχόλια».
- Υποβάλετε τη φόρμα.
# 8) findElements (Από, από)
findElements (By, by) για να λάβετε τη λίστα των στοιχείων ιστού.
Μερικές φορές μπορεί να θέλουμε να εκτυπώσουμε ή να κάνουμε μια ενέργεια σε μια λίστα στοιχείων ιστού όπως συνδέσμους ή πεδία εισαγωγής σε μια ιστοσελίδα. Σε μια τέτοια περίπτωση, χρησιμοποιούμε findElements (By, by).
Σύνταξη:
List allChoices = dropDown.findElements(By.xpath('.//fruitoption'));
Εξήγηση:
- Μια λίστα με όλα τα στοιχεία ιστού με καθορισμένο xpath αποθηκεύεται στη λίστα webelement allChoices.
# 9) findElements (By, by) με μέγεθος ()
findElements (By, by) με μέγεθος () για να επαληθεύσετε εάν υπάρχει ένα στοιχείο.
Το findElements (By, by) μπορεί να χρησιμοποιηθεί για να επαληθεύσει εάν κάποιο στοιχείο υπάρχει στην ιστοσελίδα.
Η παρακάτω εντολή χρησιμοποιείται εάν θέλουμε να επαληθεύσουμε ότι ένα στοιχείο με συγκεκριμένο εντοπιστή υπάρχει σε μια ιστοσελίδα. Εάν το μέγεθος ()! = 0 τότε το στοιχείο υπάρχει.
Σύνταξη:
Boolean checkIfElementPresent= driver.findElements(By.xpath('//input(@id='checkbox2')')).size()!= 0;
Εξήγηση:
- Το στοιχείο εύρεσης καθορίζεται στο xpath με αναγνωριστικό «πλαίσιο ελέγχου2».
- Σύμφωνα με το μέγεθος της λίστας στοιχείων, το Boolean checkIfElementPresent θα οριστεί σε TRUE ή FALSE.
# 10) σελίδαLoadTimeout (ώρα, μονάδα)
pageLoadTimeout (ώρα, μονάδα) για να ορίσετε την ώρα φόρτωσης μιας σελίδας.
Μερικές φορές λόγω προβλημάτων διακομιστή ή καθυστερήσεων δικτύου, ενδέχεται να χρειαστεί περισσότερος χρόνος από τη φόρτωση μιας σελίδας. Αυτό μπορεί να προκαλέσει σφάλμα στο πρόγραμμα. Προκειμένου να αποφευχθεί αυτό, ορίζουμε έναν χρόνο αναμονής και η σελίδαLoadTimeout () είναι μία από αυτές τις μεθόδους. Συνήθως ακολουθεί μια εντολή get ().
Σύνταξη:
driver.manage().timeouts().pageLoadTimeout(500, SECONDS);
Εξήγηση:
- Περιμένετε 500 δευτερόλεπτα για να φορτωθεί μια σελίδα.
# 11) σιωπηρά Περιμένετε ()
implicitlyWait () για να ορίσετε έναν χρόνο αναμονής πριν από την αναζήτηση και τον εντοπισμό ενός στοιχείου ιστού.
Τι θα συμβεί εάν το Webdriver προσπαθήσει να εντοπίσει ένα στοιχείο πριν από την φόρτωση της ιστοσελίδας και το στοιχείο εμφανιστεί; Το NoSuchElementExeption θα πεταχτεί. Για να το αποφύγουμε αυτό, μπορούμε να προσθέσουμε μια εντολή για να περιμένουμε σιωπηρά ένα συγκεκριμένο χρονικό διάστημα προτού εντοπίσουμε το στοιχείο.
Σύνταξη:
driver.manage().timeouts().implicitlyWait(1000, TimeUnit.SECONDS);
Εξήγηση:
- Περιμένετε σιωπηρά για 1000 δευτερόλεπτα προτού εκτελέσετε την επόμενη γραμμή στον κώδικα.
# 12) μέχρι () και ορατότηταOfElementLocated ()
μέχρι () από το WebdriverWait και visibilityOfElementLocated () από το ExpectedConditions για να περιμένετε ρητά έως ότου ένα στοιχείο είναι ορατό στην ιστοσελίδα.
Ο χειρισμός περιπτώσεων όπου ένα στοιχείο χρειάζεται πολύ χρόνο για να είναι ορατό στην ιστοσελίδα του λογισμικού, η εφαρμογή της σιωπηρής αναμονής γίνεται δύσκολη. Σε αυτήν την περίπτωση, μπορούμε να γράψουμε ένα σχόλιο για να περιμένουμε μέχρι να εμφανιστεί το στοιχείο στην ιστοσελίδα. Αυτή η εντολή χρησιμοποιεί έναν συνδυασμό μεθόδου μέχρι () από την κλάση WebdriverWait και τη μέθοδο visibilityOfElementLocated () από την κλάση ExpectedConditions.
Σύνταξη:
WebDriverWait wait = new WebDriverWait(driver, 10); WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated (By.xpath('//input(@id=’name’)')));
Εξήγηση:
- Η πρώτη γραμμή λέει πόσο χρόνο να περιμένετε που είναι 10 δευτερόλεπτα.
- Η δεύτερη συνθήκη αναφέρει μια αναμενόμενη κατάσταση για να περιμένετε. Εδώ είναι ένα στοιχείο με id'name »στο xpath που αναφέρεται.
# 13) μέχρι () και alertIsPresent ()
μέχρι () από το WebdriverWait και alertIsPresent () από το ExpectedConditions να περιμένετε ρητά μέχρι να εμφανιστεί μια ειδοποίηση.
Σε ορισμένα σενάρια, πρέπει να περιμένουμε ειδοποιήσεις για να συνεχίσουμε τη δοκιμή. Σε αυτήν την περίπτωση, χρησιμοποιούμε μια εντολή χρησιμοποιώντας τη μέθοδο έως () από τη μέθοδο WebdriverWait και alertIsPresent () από την κατηγορία ExpectedConditions.
Δείτε την παρακάτω εντολή:
WebDriverWait wait = new WebDriverWait(driver, 10); WebElement element = wait.until(ExpectedConditions.alertIsPresent() );
Εξήγηση:
- Η πρώτη γραμμή λέει πόσο χρόνο να περιμένετε - δηλαδή 10 δευτερόλεπτα.
- Η δεύτερη συνθήκη αναφέρει μια αναμενόμενη κατάσταση για να περιμένετε. Εδώ είναι ένα αναδυόμενο παράθυρο ειδοποίησης.
# 14) getTitle ()
getTitle () για να λάβετε τον τίτλο της σελίδας στο πρόγραμμα οδήγησης Selenium.
Σύνταξη:
String title = driver.getTitle(); System.out.println(title);
Συνήθως χρησιμοποιείται για την εκτύπωση του τίτλου στα αρχεία καταγραφής εξόδου.
Εξήγηση:
- Αποκτήστε τον τίτλο της ιστοσελίδας και αποθηκεύστε τον στον τίτλο του αντικειμένου συμβολοσειράς.
- Εκτυπώστε την τιμή που είναι αποθηκευμένη στον τίτλο στα αρχεία καταγραφής εξόδου.
# 15) Επιλέξτε
Επιλέξτε τάξη για επιλογή και αποεπιλογή τιμών από το αναπτυσσόμενο μενού στο Selenium WebDriver.
Έχουμε συχνά σενάρια που σχετίζονται με το αναπτυσσόμενο μενού. Χρησιμοποιούνται μέθοδοι από την κατηγορία Select για να το χειριστεί αυτό. Μπορούμε να χρησιμοποιήσουμε selectByVisibleText (), selectByValue () ή selectByIndex () σύμφωνα με το σενάριο.
Σύνταξη:
WebElement mySelectedElement = driver.findElement(By.id('select')); Select dropdown= new Select(mySelectedElement); dropdown.selectByVisibleText('Apple');
Εξήγηση:
- Βρείτε το Drop down χρησιμοποιώντας το αναγνωριστικό 'select'.
- Επιλέξτε το ορατό κείμενο 'Apple' από το αναπτυσσόμενο μενού.
WebElement mySelectedElement = driver.findElement(By.id('select')); Select dropdown= new Select(mySelectedElement); Dropdown.selectByValue('Apple')
Εξήγηση:
- Βρείτε το αναπτυσσόμενο μενού χρησιμοποιώντας το αναγνωριστικό 'select'.
- Επιλέξτε το κείμενο με την τιμή 'Apple' από το αναπτυσσόμενο μενού.
WebElement mySelectedElement = driver.findElement(By.id('select')); Select dropdown= new Select(mySelectedElement); listbox.selectByIndex(1);
Εξήγηση:
- Βρείτε το αναπτυσσόμενο μενού χρησιμοποιώντας το αναγνωριστικό 'select'.
- Επιλέξτε το αναπτυσσόμενο στοιχείο με τιμή ευρετηρίου «1» από το αναπτυσσόμενο (Δεύτερο στοιχείο).
Παρόμοια με το select, μπορούμε να αποεπιλέξουμε τιμές από το αναπτυσσόμενο μενού χρησιμοποιώντας παρόμοιες εντολές.
Ελέγξτε τις εντολές:
WebElement mySelectedElement = driver.findElement(By.id('select')); Select dropdown= new Select(mySelectedElement); dropdown.deselectByVisibleText('Apple');
Εξήγηση:
- Βρείτε το αναπτυσσόμενο μενού χρησιμοποιώντας το αναγνωριστικό 'select'.
- Αποεπιλέξτε το ορατό κείμενο 'Apple' από το αναπτυσσόμενο μενού.
WebElement mySelectedElement = driver.findElement(By.id('select')); Select dropdown= new Select(mySelectedElement); Dropdown.deselectByValue('Apple');
Εξήγηση:
- Βρείτε το αναπτυσσόμενο μενού χρησιμοποιώντας το αναγνωριστικό 'select'.
- Αποεπιλέξτε το κείμενο με την τιμή 'Apple' από το αναπτυσσόμενο μενού.
WebElement mySelectedElement = driver.findElement(By.id('select')); Select dropdown= new Select(mySelectedElement); listbox.deselectByIndex(1);
Εξήγηση:
- Βρείτε το αναπτυσσόμενο μενού χρησιμοποιώντας το αναγνωριστικό 'select'.
- Αποεπιλέξτε το αναπτυσσόμενο στοιχείο με την τιμή ευρετηρίου «1» από το αναπτυσσόμενο (Δεύτερο στοιχείο).
πλοήγηση () για πλοήγηση μεταξύ των διευθύνσεων URL.
Συχνά βλέπουμε σενάρια να θέλουμε να πλοηγηθούμε από τη διεύθυνση URL προορισμού και μετά να επιστρέψουμε ή να προχωρήσουμε. Σε τέτοιες περιπτώσεις, αντί να χρησιμοποιήσουμε το get (), μπορούμε να χρησιμοποιήσουμε το navigate (). Στο Navigate μπορούμε να χρησιμοποιήσουμε τις μεθόδους back () και forward () χωρίς να καθορίσουμε τις διευθύνσεις URL.
Σύνταξη:
driver.navigate().to('https://www.softwaretestinghelp.com'); driver.navigate().back(); driver.navigate().forward();
Εξήγηση:
- Μεταβείτε στη διεύθυνση https://www.softwaretestinghelp.com
- Πλοηγηθείτε πίσω.
- Πλοηγηθείτε προς τα εμπρός.
# 17) getScreenshotAs ()
getScreenshotAs () για να καταγράψετε ολόκληρο το στιγμιότυπο οθόνης της σελίδας στο Selenium WebDriver.
Αυτό απαιτείται συχνά για να αποθηκεύσετε τα στοιχεία της εργασίας σας ή μερικές φορές για να ελέγξετε χειροκίνητα τις εξόδους. Η παρακάτω εντολή χρησιμοποιείται για λήψη στιγμιότυπου οθόνης και αποθήκευση σε αρχείο εξόδου.
Σύνταξη:
File shot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(shot, new File('D:\ shot1.jpg'));
Εξήγηση:
- Τραβήξτε ένα στιγμιότυπο οθόνης και αποθηκεύστε το αρχείο στη λήψη αντικειμένων.
- Αποθηκεύστε το αρχείο στη μονάδα δίσκου ως shot1.png.
# 18) μετακίνησηToElement ()
moveToElement () από την κλάση Ενέργειες για προσομοίωση του εφέ του ποντικιού.
Υπάρχουν σενάρια όπου πρέπει να τοποθετήσουμε το δείκτη του ποντικιού πάνω από στοιχεία ιστού όπως πάνω από το μενού για να δούμε υπομενού, συνδέσμους για να δείτε αλλαγές χρώματος κ.λπ. Σε αυτές τις περιπτώσεις, χρησιμοποιούμε την κατηγορία Actions. Ρίξτε μια ματιά στην παρακάτω σύνταξη για την τάξη Action.
Σύνταξη:
Actions actions = new Actions(driver); WebElement mouseHover = driver.findElement(By.xpath('//div(@id='mainmenu1')/div')); actions.moveToElement(mouseHover); actions.perform();
Εξήγηση
- Βρείτε και εντοπίστε το στοιχείο ιστού με το id id «mainmenu1».
- Μετακινήστε το δείκτη του ποντικιού στο στοιχείο.
# 19) dragAndDrop ()
dragAndDrop () από την κλάση Ενέργειες για να σύρετε ένα στοιχείο και να το αφήσετε σε άλλο στοιχείο.
Σε ορισμένα σενάρια, ίσως θέλουμε να σύρουμε στοιχεία. Για παράδειγμα, σύρετε μια εικόνα στη σκηνή. Σε αυτήν την περίπτωση, μπορούμε να χρησιμοποιήσουμε την κατηγορία Actions.
Στη μέθοδο dragAndDrop, περνάμε τις δύο παραμέτρους, Source locator - το στοιχείο που θέλουμε να σύρουμε και Destination locator - το στοιχείο στο οποίο θέλουμε να αποθέσουμε.
Σύνταξη:
WebElement sourceLocator = driver.findElement(By.xpath('//*(@id='image1')/a')); WebElement destinationLocator = driver.findElement(By.xpath('//*(@id='stage')/li')); Actions actions=new Actions(driver); actions.dragAndDrop(sourceLocator, destinationLocator).build().perform();
Εξήγηση:
- Βρείτε και εντοπίστε το στοιχείο ιστού προέλευσης.
- Βρείτε και εντοπίστε το στοιχείο ιστού προορισμού.
- Σύρετε και αποθέστε το στοιχείο προέλευσης στο στοιχείο προορισμού.
# 20) switchTo () και αποδοχή (), απόρριψη () και sendKeys ()
switchTo () και αποδεχτείτε (), απορρίψτε () και sendKeys () από την κατηγορία Alert για να μεταβείτε σε αναδυόμενες ειδοποιήσεις και να τις χειριστείτε.
Για εναλλαγή σε ειδοποιήσεις, αναδυόμενα παράθυρα και χειρισμό τους, χρησιμοποιούμε έναν συνδυασμό του switchTo () και αποδοχή (), απόρριψη () μεθόδους από την τάξη ειδοποίησης.
Σύνταξη:
Alert alert = driver.switchTo().alert(); alert.sendKeys('This Is Softwaretestinghelp'); alert.accept()
Εξήγηση:
- Μεταβείτε στο παράθυρο ειδοποίησης.
- Πληκτρολογήστε 'This is Softwaretestinghelp' μέσα στην ειδοποίηση.
- Αποδεχτείτε την ειδοποίηση και κλείστε την.
alert.dismiss () μπορεί να χρησιμοποιηθεί για την απόρριψη της ειδοποίησης.
# 21) getWindowHandle () και getWindowHandles ()
getWindowHandle () και getWindowHandles () για χειρισμό πολλαπλών Windows στο Selenium WebDriver.
εξαγάγετε διευθύνσεις email από τον ιστότοπο δωρεάν
Υπάρχουν πολλές περιπτώσεις όπου οι εφαρμογές Ιστού έχουν πολλά πλαίσια ή παράθυρα.
Αυτά είναι κυρίως διαφημίσεις ή αναδυόμενα παράθυρα πληροφοριών. Μπορούμε να χειριστούμε πολλά παράθυρα χρησιμοποιώντας Windows Handlers. Το Webdriver αποθηκεύει ένα μοναδικό αναγνωριστικό παραθύρου για κάθε παράθυρο. Χρησιμοποιούμε αυτό το αναγνωριστικό για να τα χειριστούμε.
Σύνταξη:
String handle= driver.getWindowHandle(); Set handle= driver.getWindowHandles();
Οι παραπάνω εντολές χρησιμοποιούνται για τη λήψη αναγνωριστικών παραθύρων του τρέχοντος παραθύρου και όλων των παραθύρων αντίστοιχα. Δείτε τον παρακάτω βρόχο για να δείτε πώς μπορούμε να περάσουμε σε κάθε παράθυρο για βρόχο.
for (String handle : driver.getWindowHandles()){ driver.switchTo().window(handle); }
Εξήγηση:
- Για κάθε αναγνωριστικό λαβής παραθύρου από το driver.getWindowHandles (), μεταβείτε σε αυτό το αναγνωριστικό παραθύρου.
# 22) getConnection ()
getConnection () από το DriverManager για να ξεκινήσει η σύνδεση βάσης δεδομένων.
Για να ξεκινήσουμε μια σύνδεση βάσης δεδομένων, χρησιμοποιούμε το getConnection από την κλάση DriverManager.
Σύνταξη:
DriverManager.getConnection(URL, 'username', 'password' )
Εξήγηση:
- Συνδεθείτε στη βάση δεδομένων μέσω διεύθυνσης URL και διαπιστευτηρίων.
# 23) Τότε
POI για ανάγνωση από τα αρχεία excel.
Σε δοκιμές βάσει δεδομένων, αποθηκεύουμε συχνά εισόδους σε αρχείο excel και το διαβάζουμε. Για να το κάνουμε αυτό στο WebDriver, εισάγουμε το πακέτο POI και μετά χρησιμοποιούμε την παρακάτω εντολή.
Σύνταξη:
Workbook workbook = WorkbookFactory.create(new FileInputStream(file)); Sheet sheet = workbook.getSheetAt(0);
Εξήγηση:
- Δημιουργήστε ένα αρχείο αναγνώστη.
- Διαβάστε το αρχείο.
# 24) assertEquals (), assertNotEquals (), assertTrue () και assertFalse ()
Asserts χρησιμοποιώντας assertEquals (), assertNotEquals (), assertTrue () και assertFalse () για να συγκρίνετε τα αποτελέσματα.
Οι ισχυρισμοί χρησιμοποιούνται για τη σύγκριση των αναμενόμενων και των πραγματικών αποτελεσμάτων. Η επιτυχία ή αποτυχία ενός τεστ συνήθως αποφασίζεται από το αποτέλεσμα των ισχυρισμών. Διαφορετικοί τύποι ισχυρισμών χρησιμοποιούνται στον αυτοματισμό.
Σύνταξη:
Assert.assertEquals(message, “This text”); Assert.assertNotEquals(message, “This text”); Assert.assertTrue(result<0); Assert.assertFalse(result<0);
Εξήγηση:
- Στην πρώτη εντολή, όποτε οι αναμενόμενες και πραγματικές τιμές είναι ίδιες, ο ισχυρισμός περνά χωρίς εξαίρεση. δηλαδή, εάν το μήνυμα είναι 'Αυτό το κείμενο', τότε ο ισχυρισμός περνά.
- Στη δεύτερη εντολή, όποτε οι αναμενόμενες και πραγματικές τιμές είναι ίδιες, ο ισχυρισμός αποτυγχάνει με εξαίρεση. δηλαδή, εάν το μήνυμα είναι 'Αυτό το κείμενο', τότε ο ισχυρισμός αποτυγχάνει.
- Στην τρίτη εντολή, εάν η συνθήκη περάσει, η δήλωση περνά. δηλαδή, εάν είναι αποτέλεσμα<0, then the assertion passes.
- Στην τέταρτη εντολή, εάν η συνθήκη περάσει, ο ισχυρισμός αποτυγχάνει. δηλαδή, εάν είναι αποτέλεσμα<0, then the assertion fails.
# 25) κλείσιμο () και κλείσιμο ()
κλείσιμο () και κλείστε () για να κλείσετε παράθυρα και παρουσίες προγράμματος οδήγησης.
Αυτές οι εντολές χρησιμοποιούνται στο τέλος κάθε προγράμματος αυτοματισμού.
Σύνταξη:
driver.close() driver.quit()
Εξήγηση:
Η πρώτη εντολή κλείνει το τρέχον παράθυρο.
Η δεύτερη εντολή τερματίζει αυτήν την παρουσία προγράμματος οδήγησης, κλείνοντας κάθε σχετικό παράθυρο, το οποίο ανοίγει.
συμπέρασμα
Σε αυτό το σεμινάριο, παρουσιάσαμε διάφορες κοινές και υπερβολικά χρησιμοποιούμενες εντολές του WebDriver. Προσπαθήσαμε να εξηγήσουμε τις εντολές με κατάλληλα παραδείγματα και αποσπάσματα κώδικα.
Έχω δοκιμάσει το καλύτερό μου για να εξηγήσω τις πιο δημοφιλείς εντολές WebDriver που χρησιμοποιούμε ρουτίνα στην καθημερινή μας εργασία. Αυτές οι εντολές θα σας επιτρέψουν να εργαστείτε εύκολα με το Selenium.
Ελπίζω να ήταν ενδιαφέρον και γνώστες για εσάς.
Είστε δοκιμαστής αυτοματισμού που έχει δοκιμάσει κάποια από τις παραπάνω εντολές; Ή μήπως χάσαμε κάποιες εντολές που χρησιμοποιείτε στην παραπάνω λίστα;
Επόμενο σεμινάριο # 18 : Στο επερχόμενο σεμινάριο, θα συζητήσουμε για Πίνακες Ιστού, πλαίσια και δυναμικά στοιχεία που αποτελούν ουσιαστικό μέρος οποιουδήποτε διαδικτυακού έργου. Θα καλύψουμε επίσης το χειρισμός εξαιρέσεων το σημαντικό θέμα με περισσότερες λεπτομέρειες σε ένα από τα επερχόμενα σεμινάρια Selenium.
Συνιστώμενη ανάγνωση
- Cucumber Selenium Tutorial: Αγγούρι Java Selenium WebDriver Integration
- Εισαγωγή στο Selenium WebDriver - Selenium Tutorial # 8
- Πώς να εκτελέσετε το Selenium WebDriver σε διαφορετικά δημοφιλή προγράμματα περιήγησης
- Υλοποίηση του πρώτου μας σεναρίου WebDriver - Selenium WebDriver Tutorial # 10
- Συχνές ερωτήσεις για το σελήνιο
- Τρόπος χειρισμού ειδοποιήσεων / αναδυόμενων παραθύρων στο Selenium WebDriver - Selenium Tutorial # 16
- Tutorial GeckoDriver Selenium: Πώς να χρησιμοποιήσετε το GeckoDriver σε έργα Selenium
- Σιωπηρή και ρητή αναμονή στο Selenium WebDriver (Τύποι σεληνίου περιμένει)