Σε αυτήν τη σειρά σεμιναρίου θα μάθουμε για όλες τις εξαντλητικές εντολές webdriver σεληνίου ξεκινώντας από τις πολύ βασικές εντολές σεληνίου έως τις προγενέστερες εντολές οδηγού Selenium με την παρακάτω σειρά άρθρων:
Βασικές εντολές Selenium Webdriver - Ερωτήσεις:
Ενδιάμεσο σελήνιο πρόγραμμα οδήγησης web εντολές - Ερωτήσεις:
Προηγμένες εντολές Selenium WebDriver - Ερωτήσεις:
Βασικές εντολές σεληνίου - Απαντήσεις:

Selenium πλοήγηση στη διεύθυνση url:
Στο Selenium Webdriver εάν θέλουμε να πλοηγηθούμε ή να ανοίξουμε οποιαδήποτε συγκεκριμένη διεύθυνση URL μέσω του προγράμματος περιήγησής μας, τότε μπορούμε να το κάνουμε σε δύο διαφορετικές προσεγγίσεις, η μία είναι με τη μέθοδο get () και μια άλλη με την πλοήγηση, θα ρίξουμε μια ματιά στο πώς θα μπορούσε να είναι Έγινε :
public void getUrl(String url) { try { driver.get(url); BASE_LOGGER.info("Πλοηγήθηκε με επιτυχία στη διεύθυνση URL ως : " + url); } catch (Exception ex) { String exclusiveData = ex.getCause().getMessage(); BASE_LOGGER.error("Δεν είναι δυνατή η πλοήγηση στη διεύθυνση URL : " + url + " με το σφάλμα ως : " + exclusiveData); } }
Ο κωδικός που μπορείτε να γράψετε για να πλοηγηθείτε στη διεύθυνση url είναι driver.get ("http://example.com"), ενώ το πρόγραμμα οδήγησης είναι η παρουσία Webdriver της διεπαφής Selenium WebDriver.
επισκεφθείτε εδώ για να καταλάβετε πώς να ξεκινήσετε όλο το πρόγραμμα περιήγησης στο Selenium.
Πώς λειτουργεί η μέθοδος get εσωτερικά στο Selenium:
Μόλις κληθεί αυτή η μέθοδος get () από το σενάριο δοκιμής, τότε η αναφορά Webdriver, δηλαδή το πρόγραμμα οδήγησης θα περιμένει έως ότου φορτωθεί η σελίδα, στην πραγματικότητα ενεργοποιείται η μέθοδος get () εσωτερικά λειτουργία φόρτωσης η οποία επιστρέφει τη λαβή στην αναφορά του προγράμματος οδήγησης μόλις φορτωθεί πλήρως η σελίδα.
Selenium πλοηγηθείτε προς τα εμπρός και πλοηγηθείτε πίσω:
Μια άλλη προσέγγιση για πλοήγηση στη διεύθυνση url με το ιστορικό του προγράμματος περιήγησης είναι με τη χρήση της μεθόδου πλοήγησης (), όπου το Selenium χρησιμοποιεί το ιστορικό του προγράμματος περιήγησης για πλοήγηση προς τα εμπρός ή για πλοήγηση πίσω με τα αντίστοιχα URL, όπως:
Σελήνιο πλοηγηθείτε προς τα εμπρός
public void navigateForward() { try {driver.navigate().forward(); BASE_LOGGER.info("Επιτυχής πλοήγηση προς τα εμπρός" ); } catch (Exception ex) { String exclusiveData = ex.getCause().getMessage(); BASE_LOGGER.error("Δεν είναι δυνατή η πλοήγηση με το σφάλμα ως : " +exceptionData); } }
Selenium πλοήγηση πίσω:
public void navigateBack() { try {driver.navigate().back(); BASE_LOGGER.info("Πλοηγήθηκε με επιτυχία Επιστροφή στη διεύθυνση URL"); } catch (Exception ex) { String exclusiveData = ex.getCause().getMessage(); BASE_LOGGER.error("Δεν είναι δυνατή η πλοήγηση Επιστροφή στη διεύθυνση URL : με το σφάλμα ως : " +εξαίρεσηΔεδομένα); } }
Σελίδα ανανέωσης σεληνίου
Μπορούμε να χρησιμοποιήσουμε τη μέθοδο ανανέωσης () από το Selenium navigate
public void seleniumRefreshPage() { try {driver.navigate().refresh(); BASE_LOGGER.info("Η σελίδα ανανέωσης σεληνίου ολοκληρώθηκε με επιτυχία"); } catch (Exception ex) { String exclusiveData = ex.getCause().getMessage(); BASE_LOGGER.error("Δεν είναι δυνατή η εκτέλεση της σελίδας ανανέωσης του Selenium : με το σφάλμα ως : " +exceptionData); } }
Κάντε κλικ στο σελήνιο
Για να εκτελέσετε οποιαδήποτε λειτουργία κλικ με κλικ σελήνιο πρέπει να χρησιμοποιήσουμε τη μέθοδο που ονομάζεται κλικ () στην παρακάτω προσέγγιση, υπάρχουν άλλοι τρόποι για να εκτελέσετε τη λειτουργία κλικ σε οποιοδήποτε από τα WebElement στο Σελήνιο, δηλαδή χρησιμοποιώντας το JavaScriptClick το οποίο είναι πολύ χρήσιμο μερικές φορές ανάλογα με τις καταστάσεις όπου η κανονική μέθοδος κλικ σελήνιο λειτουργεί με πολύ σταθερό τρόπο, υπάρχουν ορισμένες περιπτώσεις όπου εάν αυτοματοποιείτε με το πρόγραμμα περιήγησης IE και εάν η υπό δοκιμή Εφαρμογή Ιστού έχει δημιουργηθεί σε κάποιο είδος bootstrap JS, τότε η κανονική μέθοδος κλικ σεληνίου ενδέχεται να μην λειτουργεί κάποια στιγμή , σε αυτές τις περιπτώσεις θα μπορούσατε να χρησιμοποιήσετε τη μέθοδο κλικ Javascript.
public void safeClick(By element) { try { driver.findElement(element).click(); BASE_LOGGER.info("Έχει πραγματοποιηθεί λειτουργία ασφαλούς κλικ για τον εντοπιστή : " + String.valueOf(element)); } catch (Exception e) { String exclusiveData = e.getCause().getMessage(); BASE_LOGGER.error("Παρουσιάστηκε σφάλμα π.χ. : " +exceptionData + " κατά την εκτέλεση Safeclick στο στοιχείο : " + στοιχείο); } }
Μπορείτε να περάσετε το στοιχείο χρησιμοποιώντας διαφορετικές στρατηγικές εντοπισμού (π.χ. xpath, name, css κ.λπ.) στη μέθοδο που ονομάζεται findElement () και στη συνέχεια να εκτελέσετε τη λειτουργία μεθόδου κλικ () όπως παραπάνω.
Σελήνια sendkeys
Όταν πρέπει να εισαγάγουμε κείμενο σε κάποιο πλαίσιο κειμένου μέσω Selenium, χρησιμοποιούμε τη μέθοδο Selenium sendkeys () περνώντας το "Κείμενο που θα εισαχθεί" ως παράμετρος στη μέθοδο sendKeys ("Κείμενο που θα εισαχθεί") και παρόμοια με η μέθοδος click () αυτή η μέθοδος εφαρμόζεται επίσης σε οποιοδήποτε webElement (εδώ πλαίσιο κειμένου web), οπότε πρέπει να χρησιμοποιήσουμε το driver.findElement για να στείλουμε το κείμενο σε αυτό το TextBox.
Ο δείγμα κώδικα έχει ως εξής:
public void enterTextIntoElement(By element, String textToBeEntered) { try { driver.findElement(element).sendKeys(textToBeEntered); BASE_LOGGER.info( "Έχει πραγματοποιηθεί η λειτουργία enterTextIntoElement για τον εντοπιστή : " + String.valueOf(element)); } catch (Exception ex) { String exclusiveData = ex.getCause().getMessage(); BASE_LOGGER.error("Η λειτουργία enterTextIntoElement απέτυχε για τον εντοπιστή : " + String.valueOf(element) + " με την εξαίρεση π.χ. : " + exclusiveData); } }
Πεδίο σαφούς κειμένου σεληνίου
Εάν θέλουμε να διαγράψουμε δεδομένα από ένα προηγουμένως συμπληρωμένο πεδίο κειμένου, μπορούμε να χρησιμοποιήσουμε τη μέθοδο που ονομάζεται Clear () και επίσης με τη βοήθεια της Keys Class στο Selenium μπορούμε να το κάνουμε, μέσω του οποίου μπορούμε να πάρουμε τις λειτουργίες πληκτρολογίου απευθείας μαζί με τις συντομεύσεις πληκτρολογίου :
Για να διαγράψετε τα Δεδομένα με τη βοήθεια της σαφούς () μεθόδου μπορούμε να γράψουμε με την παρακάτω προσέγγιση:
public void clearField(By element) { try { driver.findElement(element).clear(); BASE_LOGGER.info("Η λειτουργία ClearField έχει εκτελεστεί για τον εντοπιστή : " + String.valueOf(στοιχείο)); } catch (Exception e) { String exclusiveData = e.getCause().getMessage(); BASE_LOGGER.error("Η λειτουργία ClearField απέτυχε για τον εντοπιστή : " + String.valueOf(στοιχείο) + " με την εξαίρεση π.χ. : " + exclusiveData); } }
Χρησιμοποιώντας την κατηγορία Keys μπορούμε επίσης να διαγράψουμε τα πεδία κειμένου στην ακόλουθη προσέγγιση.
Παράθυρο μεγιστοποίησης σεληνίου
Ενώ εργαζόμαστε με τον αυτοματισμό του προγράμματος περιήγησης, εάν πρέπει να μεγιστοποιήσουμε το παράθυρο στο σελήνιο, τότε θα μπορούσαμε να χρησιμοποιήσουμε τις ακόλουθες προσεγγίσεις:
Selenium Maximize Window χρησιμοποιώντας τη μέθοδο Maximize ():
public void maximizeWindow() { try {driver.manage().window().maximize(); BASE_LOGGER.info("Μεγιστοποιήθηκε με επιτυχία το παράθυρο"); } catch (Exception e) { BASE_LOGGER.info("Exception Occured while Maximizing the Window As : " + e.getCause().getMessage()); } }
Selenium Maximize Window χρησιμοποιώντας ChromeOptions για ChromeBrowser:
Χρησιμοποιώντας την παρακάτω μέθοδο ορίζουμε μια παρουσία προγράμματος περιήγησης chrome για το Webdriver σε μεγιστοποιημένη λειτουργία και η επαναλαμβανόμενη περίοδος προγράμματος οδήγησης θα συνεχίσει στην ίδια λειτουργία (π.χ. μεγιστοποίηση παραθύρου) για περαιτέρω λειτουργία ιστού σύμφωνα με το σενάριο.
δημόσιο WebDriver openBrowserInMaximizeWindow(){ δοκιμάστε { ChromeOptions options = new ChromeOptions(); options.addArguments("start-maximized"); Πρόγραμμα οδήγησης WebDriver = νέο ChromeDriver(επιλογές); }catch(Exception e){ BASE_LOGGER.error("Εξαίρεση συναντήθηκε με : " + e.getCause().getMessage()); } πρόγραμμα οδήγησης επιστροφής; }
Παράθυρο ελαχιστοποίησης σεληνίου
Μπορούμε να ελαχιστοποιήσουμε το παράθυρο χρησιμοποιώντας την εντολή Selenium minimize () με την ακόλουθη προσέγγιση:
public void minimizeWindow() { try {driver.manage().window().minimize(); BASE_LOGGER.info("Επιτυχής ελαχιστοποίηση του παραθύρου"); } catch (Exception e) { BASE_LOGGER.info("Exception Occured while Minimizing the Window As : " + e.getCause().getMessage()); } }
Selenium κλείσιμο προγράμματος περιήγησης:
Για να κλείσουμε το πρόγραμμα περιήγησης στο Selenium χρησιμοποιούμε τη μέθοδο close () στην παρακάτω προσέγγιση:
public void closeCurrentWindow() { try { if (null != driver) { driver.close(); BASE_LOGGER.info("Το τρέχον παράθυρο/πρόγραμμα περιήγησης έκλεισε με επιτυχία"); } else { BASE_LOGGER.info("Δεν είναι δυνατό να κλείσει η τρέχουσα παρουσία παραθύρου/προγράμματος περιήγησης ως NULL"); } } catch (Εξαίρεση e) { BASE_LOGGER.info("Εξαίρεση προέκυψε κατά το κλείσιμο του τρέχοντος παραθύρου/προγράμματος περιήγησης"); } }
Το σελήνιο κλείνει το πρόγραμμα περιήγησης
Για να κλείσετε όλες τις παρουσίες του προγράμματος περιήγησης στο Selenium, χρησιμοποιούμε τη μέθοδο quit () στην παρακάτω προσέγγιση:
public void quitBrowser() { try { if (null != driver) { driver.quit(); BASE_LOGGER.info("Επιτυχής ΚΛΕΙΣΗ από το πρόγραμμα περιήγησης"); } else { BASE_LOGGER.info("Unable to QUIT the Browser as It is NULL"); } } catch (Εξαίρεση e) { BASE_LOGGER.error("Εξαίρεση προέκυψε κατά την ΕΚΤΕΛΕΣΗ του προγράμματος περιήγησης"); } }
Διαφορά μεταξύ driver.close () και driver.quit () στο Selenium:
Εντολές ενδιάμεσου προγράμματος οδήγησης web Selenium - απαντήσεις:
Πτώση σεληνίου:
Στη δομή DOM της ιστοσελίδας, το αναπτυσσόμενο μενού υλοποιείται είτε από το Select ή το Tage του HTML. Για να εργαστείτε με το Dropdown με το Selenium και να εκτελέσετε ορισμένα
λειτουργίες ιστού στα αναπτυσσόμενα μενού, πρέπει να χρησιμοποιήσουμε την κατηγορία "Επιλογή" από το Selenium WebDrivers API ως μέρος του "org.openqa.selenium.support.uiΠακέτο από το Selenium WebDriver.
Υπάρχουν 2 διαφορετικές δηλώσεις προβλημάτων ή ρωτάτε ενώ εργάζεστε με το Selection of DropDown στο Selenium:
Επιλογή μεμονωμένου στοιχείου σε αναπτυσσόμενο μενού κάθε φορά
Στην παρακάτω προσέγγιση μπορούμε να εργαστούμε με το Dropdown:
Βήμα πρώτο :
Θα πρέπει να δημιουργήσετε μια λαβή για το DropDown WebElement χρησιμοποιώντας τη δημιουργία αντικειμένου Select class με τον ακόλουθο τρόπο:
Επιλέξτε select = new Select (WebElement webelement).
Βήμα δυο :
Υπάρχουν 3 διαφορετικές προσεγγίσεις για να επιλέξετε την τιμή από το αναπτυσσόμενο μενού στο Σελήνιο, θα μπορούσαμε να χρησιμοποιήσουμε οποιαδήποτε από τις παρακάτω μεθόδους για να επιλέξετε την τιμή από το αναπτυσσόμενο μενού στο Σελήνιο:
Εδώ είναι η παρακάτω προσέγγιση που μπορούμε να ακολουθήσουμε για να επιλέξετε τιμή από το αναπτυσσόμενο μενού:
Πτώση σεληνίου - Προσέγγιση XNUMX:
Στην προσέγγιση XNUMX μπορείτε να χρησιμοποιήσετε το κείμενο που είναι ορατό της επιθυμητής επιλογής του Webelement.
public void selectFromDropDownByText(By locator, String visualText) { try { Select dropDownElement = new Select(driver.findElement(locator)); dropdownElement.selectByVisibleText(visibleText); BASE_LOGGER.info("Έχει πραγματοποιηθεί η λειτουργία SelectFromDropDownByText για τον εντοπιστή : " + String.valueOf(locator)); } catch (Exception e) { String exclusiveData = e.getCause().getMessage(); BASE_LOGGER.error("Παρουσιάστηκε σφάλμα π.χ. : " +exceptionData + " κατά την εκτέλεση του selectFromDropDownByText στο στοιχείο : " + locator); } }
Στην παραπάνω μέθοδο μπορείτε να περάσετε τον εντοπιστή του αναπτυσσόμενου και το ορατό κείμενο που θέλετε να επιλέξετε από το αναπτυσσόμενο και στη συνέχεια θα εκτελέσει την επιθυμητή λειτουργία είναι η επιλογή του αναμενόμενου αναπτυσσόμενου στοιχείου.
Πτώση στο σελήνιο - Προσέγγιση δύο:
Σε αυτήν την προσέγγιση επιλέγετε το Webelement χρησιμοποιώντας το χαρακτηριστικό value της επιλογής WebElement που θέλετε από το αναπτυσσόμενο μενού:
public void selectFromDropDownByValue(By locator, String visualText) { try { Select dropDownElement = new Select(driver.findElement(locator)); dropDownElement.selectByValue(“Η επιθυμητή τιμή του Webelement”); BASE_LOGGER.info("Έχει πραγματοποιηθεί η λειτουργία selectFromDropDownByValue για τον εντοπιστή : " + String.valueOf(locator)); } catch (Exception e) { String exclusiveData = e.getCause().getMessage(); BASE_LOGGER.error("Παρουσιάστηκε σφάλμα π.χ. : " +exceptionData + " κατά την εκτέλεση του selectFromDropDownByValue στο στοιχείο : " + locator); } }
Στην παραπάνω μέθοδο μπορείτε να περάσετε τον εντοπιστή του αναπτυσσόμενου μενού και το χαρακτηριστικό τιμής του WebElement του οποίου θέλετε να επιλέξετε από το αναπτυσσόμενο μενού και θα εκτελέσει την επιθυμητή λειτουργία Επιλέγοντας το αναμενόμενο αναπτυσσόμενο στοιχείο.
Πτώση σεληνίου - προσέγγιση τρία:
Σε αυτήν την προσέγγιση επιλέγετε το Webelement χρησιμοποιώντας το ευρετήριο (σειρά του WebElement στην ετικέτα επιλογής HTML) της επιθυμητής επιλογής WebElement από το αναπτυσσόμενο μενού, το ευρετήριο ξεκινά γενικά από το 0:
public void selectFromDropDownByIndex(By locator, String visualText) { try { Select dropDownElement = new Select(driver.findElement(locator)); dropdownElement.selectByIndex(5); BASE_LOGGER.info("Έχει πραγματοποιηθεί η λειτουργία selectFromDropDownByIndex για τον εντοπιστή : " + String.valueOf(locator)); } catch (Exception e) { String exclusiveData = e.getCause().getMessage(); BASE_LOGGER.error("Παρουσιάστηκε σφάλμα π.χ. : " +exceptionData + " κατά την εκτέλεση του selectFromDropDownByIndex στο στοιχείο : " + locator); } }
Στην παραπάνω μέθοδο μπορείτε να περάσετε τον εντοπιστή του αναπτυσσόμενου μενού και το ευρετήριο / σειρά του WebElement (στην Επιλογή ετικέτας του αναπτυσσόμενου μενού) του οποίου θέλετε να επιλέξετε από το αναπτυσσόμενο μενού, τότε θα εκτελέσει την επιθυμητή λειτουργία Επιλέγοντας το αναμενόμενο αναπτυσσόμενο στοιχείο .
Επιλογή πολλαπλών στοιχείων σε ένα αναπτυσσόμενο μενού κάθε φορά
Εξαρτάται από τη δομή και την εφαρμογή HTML DOM εάν επιτρέπεται σε οποιοδήποτε αναπτυσσόμενο στοιχείο να έχει πολλαπλή επιλογή στοιχείων. Για να επιλέξετε πολλά στοιχεία στο Σελήνιο πρέπει να ακολουθήσουμε παρακάτω δύο βήματα:
Βήμα πρώτο : Ελέγξτε αν το DropDown WebElement επιτρέπει την πολλαπλή επιλογή χρησιμοποιώντας τη μέθοδο isMultiple (), Αυτό επιστρέφει boolean ως αληθινό ή ψευδές.
Βήμα δυο : αν το παραπάνω βήμα επιστρέψει αληθινό, τότε το αναπτυσσόμενο μενού επιτρέπει την επιλογή πολλαπλών επιλογών. Και μετά από αυτό μπορούμε να χρησιμοποιήσουμε τις παραπάνω αναφερόμενες οποιεσδήποτε / και τις τρεις διαφορετικές προσεγγίσεις για την επιλογή πολλαπλών τιμών και την εκτέλεση οποιωνδήποτε επιθυμητών λειτουργιών
Το συμπέρασμα λοιπόν εδώ είναι το δείγμα κώδικα:
Στοιχείο WebElement =driver.findElement(By.xpath("XPATH OF THE DropDown")); Επιλέξτε SelectMultiple = νέο Επιλογή(στοιχείο); if(selectMultiple.isMultiple()){ selectMultiple.selectByIndex(1); selectMultiple.selectByIndex(2); //Παρόμοια Θα μπορούσαμε να χρησιμοποιήσουμε άλλες προσεγγίσεις/μέθοδοι για την επιλογή αναπτυσσόμενων στοιχείων όπως SelectByVisibleText ή selectByValue }
Σύρετε και αποθέστε σελήνιο :
Στο τμήμα του σεμιναρίου θα μάθουμε όλες τις διαφορετικές προσεγγίσεις της εκτέλεσης Drag and Drop in Selenium όπως:
Τι είναι το drag and drop στο Selenium και πού χρησιμοποιείται:
Το Drag And Drop είναι μια συγκεκριμένη λειτουργία όταν οι χρήστες πλοηγούνται στις εφαρμογές ιστού σας και προσπαθούν να εκτελέσουν τη λειτουργία (μεταφορά με κίνηση του ποντικιού) σε κάποιο στοιχείο web που μπορεί να μετακινηθεί ελεύθερα πάνω από την εφαρμογή και μπορεί να πέσει σε κάποια άλλη τοποθεσία της ιστοσελίδας αυτής της εφαρμογής.
Εδώ το στοιχείο που μεταφέρεται ονομάζεται Source WebElement και το στοιχείο στο οποίο πέφτει ονομάζεται Destination WebElement.
Για να εκτελέσετε τα παραπάνω σενάρια μέσω Αυτοματισμού με Σελήνιο, πρέπει να μεταφέρουμε και να αποθέσουμε λειτουργίες που παρέχονται από το Selenium.
Διαφορετικές προσεγγίσεις Drag and Drop στο Σελήνιο:
Μεταφορά και απόθεση στο Σελήνιο χρησιμοποιώντας τη μέθοδο Build ():
Πώς λειτουργεί η μέθοδος Build () εσωτερικά :
build () από την κατηγορία Actions στο Selenium που είναι μέρος του πακέτου org.openqa.selenium.επιδράσεις παράγει εσωτερικά μια σύνθετη δράση
συνδυάζοντας όλες τις ενέργειες που έχουν κληθεί ή ενεργοποιηθεί πριν από την κλήση της μεθόδου build ().
Για παράδειγμα:
new Actions(driver).clickAndHold(sourceElement).moveToElement(destinationElement) .release(destinationElement).build();
Η παραπάνω δήλωση για την εκτέλεση της λειτουργίας μεταφοράς και απόθεσης χρησιμοποιείται για τη σύνδεση των προηγούμενων ενεργειών όπως οι μέθοδοι clickAndHold, moveToElement και απελευθέρωσης.
Ακολουθεί το παρακάτω απόσπασμα κώδικα για να εκτελέσετε το Drag and Drop in Selenium χρησιμοποιώντας τη μέθοδο κατασκευής της κλάσης Ενέργειες:
public void dragAndDrop(Ανά πηγή, Κατά προορισμό) { try { WebElement sourceElement = driver.findElement(source); WebElement destinationElement = driver.findElement(destination); Actions builder = new Actions(driver); Ενέργεια dragAndDrop = builder.clickAndHold(sourceElement).moveToElement(destinationElement) .release(destinationElement).build(); dragAndDrop.perform(); BASE_LOGGER.info("Η ενέργεια μεταφοράς και απόθεσης εκτελέστηκε με επιτυχία"); } catch (Exception e) { String exclusiveData = e.getCause().getMessage(); BASE_LOGGER.error("Παρουσιάστηκε σφάλμα π.χ. : " +exceptionData + " κατά την εκτέλεση DragAndDrop "); } }
Μεταφορά και απόθεση στο Σελήνιο χρησιμοποιώντας τη μέθοδο dragAndDrop ():
Πώς λειτουργεί η μέθοδος dragAndDrop () εσωτερικά:
Η μέθοδος dragAndDrop (sourceWebElement, destinationWebElement) βασικά βασίζεται σε δύο ορίσματα, το ένα είναι πηγή και το άλλο είναι webelement προορισμού.
Το dragAndDrop αφαιρεί την ανάγκη clickAndHold, moveToElement, απελευθερώστε μεθόδους στην κατηγορία Action, χειρίζεται εσωτερικά όλα τα σενάρια που εκτελούνται με αυτές τις μεθόδους.
Ακολουθεί το παρακάτω απόσπασμα κώδικα για την εκτέλεση dragAndDrop με τη μέθοδο dragAndDrop:
public void dragAndDropOps(Ανά πηγή, Κατά προορισμό) { try { WebElement sourceElement = driver.findElement(source); WebElement destinationElement = driver.findElement(destination); Actions builder = new Actions(driver); builder.dragAndDrop(sourceElement,destinationElement).perform(); BASE_LOGGER.info("Η ενέργεια μεταφοράς και απόθεσης εκτελέστηκε με επιτυχία"); } catch (Exception e) { String exclusiveData = e.getCause().getMessage(); BASE_LOGGER.error("Παρουσιάστηκε σφάλμα π.χ. : " +exceptionData + " κατά την εκτέλεση DragAndDrop "); } }
Μεταφορά και απόθεση στο Σελήνιο χρησιμοποιώντας τη μέθοδο dragAndDropBy ():
Πώς λειτουργεί η μέθοδος dragAndDropBy (πηγή WebElement, int xOffset, int yOffset):
Η μέθοδος dragAndDropBy () παίρνει 3 ορίσματα που είναι:
Source WebElement: το στοιχείο που σύρεται δηλαδή το στοιχείο προέλευσης
xOffset: οριζόντια μετατόπιση μετατόπισης της θέσης προορισμού
yOffset: κάθετη μετατόπιση μετατόπισης της θέσης προορισμού
Εσωτερικά αυτή η μέθοδος παίρνει το webelement πηγής και μετακινείται και την απελευθερώνει στην τοποθεσία προορισμού. Αυτή η μέθοδος είναι χρήσιμη αν θέλετε να μετακινήσετε οποιοδήποτε στοιχείο webel πηγής σε οποιεσδήποτε τοποθεσίες pixel.
Ακολουθεί το απόσπασμα κώδικα για το DragAndDropBy στο Σελήνιο:
public void dragAndDropByOps(By source, int xOffSet,int yOffSet) { try { WebElement sourceElement = driver.findElement(source); Actions builder = new Actions(driver); builder.dragAndDropBy(sourceElement,xOffSet,yOffSet).build().perform(); BASE_LOGGER.info("Η ενέργεια μεταφοράς και απόθεσης εκτελέστηκε με επιτυχία"); } catch (Exception e) { String exclusiveData = e.getCause().getMessage(); BASE_LOGGER.error("Παρουσιάστηκε σφάλμα π.χ. : " +exceptionData + " κατά την εκτέλεση DragAndDrop "); } }
Επισκεφθείτε εδώ για τα υπόλοιπα προηγμένα σύνολα εντολών του Interdate Selenium webdriver.
Προηγμένες εντολές Selenium WebDriver -Απάντηση:
Κάντε διπλό κλικ σε σελήνιο :
Για να επαναλάβουμε τη λειτουργία, δηλαδή διπλό κλικ στο Σελήνιο μέσω ποντικιού, πρέπει να εκτελέσουμε διπλό κλικ μέσω της κατηγορίας Ενέργειες στο Σελήνιο και μπορούμε να το κάνουμε με την παρακάτω προσέγγιση:
public void doubleClick(By locator) { try { WebElement element = driver.findElement(locator); Actions actions = new Actions(driver); actions.doubleClick(element).perform(); BASE_LOGGER.info("Εκτέλεσε το διπλό κλικ στο στοιχείο : " + εντοπιστής); } catch (StaleElementReferenceException e) { BASE_LOGGER.error("Το στοιχείο δεν είναι προσαρτημένο στο έγγραφο της σελίδας " + e.getCause().getMessage()); } catch (NoSuchElementException e) { BASE_LOGGER.error("Element " + locator + " δεν βρέθηκε στο DOM " + e.getCause().getMessage()); } catch (Exception e) { BASE_LOGGER.error("Element " + locator + " was notable clickable " + e.getCause().getMessage()); } }
Το παραπάνω απόσπασμα κώδικα είναι μια μέθοδος που βασικά παίρνει ένα όρισμα ως Locator, δηλαδή το WebElement στο οποίο πρέπει να εκτελεστεί το διπλό κλικ.
Κάντε κλικ στο σελήνιο:
Για να επαναλάβουμε τη λειτουργία κλικ περιβάλλοντος ή δεξιού κλικ μέσω ποντικιού, πρέπει να εκτελέσουμε τη μέθοδο κλικ περιβάλλοντος μέσω της κλάσης Ενέργειες στο Σελήνιο και μπορούμε να το κάνουμε με την παρακάτω προσέγγιση:
public void rightClick(By locator) { try { WebElement element = driver.findElement(locator); Actions actions = new Actions(driver); actions.contextClick(element).perform(); BASE_LOGGER.info("Εκτέλεσε το πλαίσιο Κάντε κλικ στο στοιχείο : " + εντοπιστής); } catch (StaleElementReferenceException e) { BASE_LOGGER.error("Το στοιχείο δεν είναι προσαρτημένο στο έγγραφο της σελίδας " + e.getCause().getMessage()); } catch (NoSuchElementException e) { BASE_LOGGER.error("Element " + locator + " δεν βρέθηκε στο DOM " + e.getCause().getMessage()); } catch (Exception e) { BASE_LOGGER.error("Element " + locator + " was notable clickable " + e.getCause().getMessage()); } }
Για τις λεπτομερείς εντολές Advance Selenium webdriver επισκεφθείτε εδώ.. Επίσης για να κατανοήσετε το Μάθημα δράσεων στο Σελήνιο και τις υλοποιήσεις του επισκεφθείτε εδώ .
Κρίσιμες ερωτήσεις:
Τι είναι το management () στο Σελήνιο;
Το driver.manage () επιστρέφει μια αναφορά υλοποίησης του WebDriver.Options Interface. Η διεπαφή επιλογών είναι μια διεπαφή για τη διαχείριση και τον χειρισμό ενεργειών σε ένα μενού προγράμματος περιήγησης όπως:
Για εξαντλητικά σύνολα Ερωτήσεις συνέντευξης σεληνίου - Κριτικά και προχωρημένα σύνολα επισκέπτονται εδώ.
Συμπέρασμα:
Σε αυτήν την ενότητα του σεμιναρίου καλύψαμε το Βασικό Πρόγραμμα οδήγησης σεληνίου εντολές, Κάντε κλικ εδώ για να μάθετε το Εντολές Interdate και Advance Selenium webdriver. Για να μάθετε το Σελήνιο από το Scratch κάντε κλικ εδώ.