Κάντε κλικ στο ποντίκι & Εκδήλωση πληκτρολογίου: Κατηγορία δράσης στο Selenium Webdriver

Πίνακας περιεχομένων:

Anonim

Σε αυτό το σεμινάριο, θα μάθουμε να χειριζόμαστε το συμβάν πληκτρολογίου και ποντικιού στο Selenium Webdriver

Τάξη δράσης στο Σελήνιο

Το Action Class in Selenium είναι ένα ενσωματωμένο χαρακτηριστικό που παρέχεται από το σελήνιο για το χειρισμό συμβάντων πληκτρολογίου και ποντικιού. Περιλαμβάνει διάφορες λειτουργίες, όπως πολλαπλά συμβάντα κάνοντας κλικ με το πλήκτρο ελέγχου, μεταφορά και απόθεση συμβάντων και πολλά άλλα. Αυτές οι λειτουργίες από την κατηγορία δράσης εκτελούνται χρησιμοποιώντας το προηγμένο API αλληλεπίδρασης χρήστη στο Selenium Webdriver.

Διαχείριση συμβάντων πληκτρολογίου και ποντικιού

Ο χειρισμός ειδικών συμβάντων πληκτρολογίου και ποντικιού γίνεται χρησιμοποιώντας το Advanced User Interactions API . Περιέχει τις δράσεις και τα Δράση μαθήματα που απαιτούνται κατά την εκτέλεση αυτών των γεγονότων. Τα ακόλουθα είναι τα πιο συχνά χρησιμοποιούμενα συμβάντα πληκτρολογίου και ποντικιού που παρέχονται από την κατηγορία Actions.

Μέθοδος Περιγραφή
clickAndHold () Κλικ (χωρίς απελευθέρωση) στην τρέχουσα θέση του ποντικιού.
πλαίσιοΚάντε κλικ () Πραγματοποιεί ένα κλικ περιβάλλοντος στην τρέχουσα θέση του ποντικιού. (Δράση ποντικιού δεξιού κλικ)
διπλό κλικ() Εκτελεί διπλό κλικ στην τρέχουσα θέση του ποντικιού.
dragAndDrop (πηγή, στόχος) Εκτελεί κλικ και κρατήστε πατημένο στη θέση του στοιχείου προέλευσης, μετακινείται στη θέση του στοιχείου προορισμού και, στη συνέχεια, απελευθερώνει το ποντίκι. Παράμετροι: στοιχείο πηγής προς μίμηση στο κουμπί.target- στοιχείο για μετακίνηση και απελευθέρωση του ποντικιού στο.
dragAndDropBy (πηγή, x-offset, y-offset) Εκτελεί κλικ και κρατήστε πατημένο στη θέση του στοιχείου προέλευσης, μετακινείται με δεδομένη μετατόπιση και, στη συνέχεια, απελευθερώνει το ποντίκι. Παράμετροι : στοιχείο προέλευσης - στοιχείο εξομοίωσης κάτω στο .xOffset- οριζόντια μετατόπιση μετατόπισης.yOffset- κατακόρυφη μετατόπιση μετατόπισης.
keyDown (modifier_key) Πραγματοποιεί πάτημα ενός πλήκτρου τροποποιητή. Δεν απελευθερώνει το κλειδί τροποποιητή - οι επακόλουθες αλληλεπιδράσεις μπορεί να υποθέσουν ότι παραμένει πατημένο. Παράμετροι : modifier_key - οποιοδήποτε από τα πλήκτρα τροποποίησης (Keys.ALT, Keys.SHIFT ή Keys.CONTROL)
keyUp (τροποποιητής _key) Εκτελεί μια έκδοση κλειδιού. Παράμετροι : modifier_key - οποιοδήποτε από τα πλήκτρα τροποποίησης (Keys.ALT, Keys.SHIFT ή Keys.CONTROL)
moveByOffset (x-offset, y-offset) Μετακινεί το ποντίκι από την τρέχουσα θέση του (ή 0,0) από τη δεδομένη μετατόπιση. Παράμετροι : x-offset - οριζόντια μετατόπιση. Μια αρνητική τιμή σημαίνει μετακίνηση του ποντικιού προς τα αριστερά.y-offset- κάθετη μετατόπιση. Μια αρνητική τιμή σημαίνει μετακίνηση του ποντικιού προς τα κάτω.
moveToElement (toElement) Μετακινεί το ποντίκι στη μέση του στοιχείου. Παράμετροι : toElement- στοιχείο για μετακίνηση στο.
ελευθέρωση() Απελευθερώνει το πατημένο αριστερό κουμπί του ποντικιού στην τρέχουσα θέση του ποντικιού
sendKeys (onElement, charsequence) Στέλνει μια σειρά πλήκτρων στο στοιχείο. Παράμετροι : onElement - στοιχείο που θα λαμβάνει τις πατήσεις πλήκτρων, συνήθως μια σειρά πεδίου κειμένου - οποιαδήποτε τιμή συμβολοσειράς αντιπροσωπεύει την ακολουθία των πλήκτρων που θα σταλούν

Στο ακόλουθο παράδειγμα, θα χρησιμοποιήσουμε τη μέθοδο moveToElement () για να μετακινηθείτε με ποντίκι σε μια σειρά τραπεζιών της Mercury Tours. Δείτε το παρακάτω παράδειγμα.

Το κελί που φαίνεται παραπάνω είναι ένα τμήμα ενός στοιχείου . Εάν δεν αιωρείται, το χρώμα του είναι # FFC455 (πορτοκαλί). Αφού αιωρηθεί, το χρώμα του κελιού γίνεται διαφανές. Γίνεται το ίδιο χρώμα με το μπλε φόντο ολόκληρου του πορτοκαλιού πίνακα.

Βήμα 1: Εισαγάγετε τις κλάσεις Ενέργειες και Ενέργειες .

Βήμα 2: Δημιουργήστε ένα νέο αντικείμενο Actions.

Βήμα 3: Δημιουργήστε μια ενέργεια χρησιμοποιώντας το αντικείμενο Ενέργειες στο βήμα 2.

Σε αυτήν την περίπτωση, θα χρησιμοποιήσουμε τη μέθοδο moveToElement (), επειδή απλώς θα μεταβούμε πάνω από τον σύνδεσμο "Αρχική σελίδα". Η μέθοδος build () είναι πάντα η τελική μέθοδος που χρησιμοποιείται έτσι ώστε όλες οι αναφερόμενες ενέργειες να συγκεντρώνονται σε ένα βήμα.

Βήμα 4: Χρησιμοποιήστε τη μέθοδο perform () κατά την εκτέλεση του αντικειμένου Action που σχεδιάσαμε στο βήμα 3.

Παρακάτω είναι ολόκληρος ο κώδικας WebDriver για να ελέγξετε το χρώμα φόντου του στοιχείου πριν και μετά το ποντίκι.

πακέτο newproject;εισαγωγή org.openqa.selenium. *;εισαγωγή org.openqa.selenium.firefox.FirefoxDriver;εισαγωγή org.openqa.selenium.interactions.Action;εισαγωγή org.openqa.selenium.interactions.Actions;δημόσια τάξη PG7 {Δημόσιο στατικό κενό (String [] args) {String baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");Πρόγραμμα οδήγησης WebDriver = νέο FirefoxDriver ();driver.get (baseUrl);WebElement link_Home = driver.findElement (By.linkText ("Αρχική σελίδα"));WebElement td_Home = πρόγραμμα οδήγησης.findElement (Από.xpath ("// html / body / div"+ "/ τραπέζι / tbody / tr / td"+ "/ τραπέζι / tbody / tr / td"+ "/ τραπέζι / tbody / tr / td"+ "/ τραπέζι / tbody / tr"));Κατασκευαστές ενεργειών = νέες ενέργειες (πρόγραμμα οδήγησης);Action mouseOverHome = οικοδόμος.moveToElement (link_Home).χτίζω();Συμβολοσειρά bgColor = td_Home.getCssValue ("background-color");System.out.println ("Before hover: + bgColor);mouseOverHome.perform ();bgColor = td_Home.getCssValue ("φόντο-χρώμα");System.out.println ("After hover: + bgColor);driver.close ();}}

Η παρακάτω έξοδος δηλώνει ξεκάθαρα ότι το χρώμα του φόντου έγινε διαφανές μετά το ποντίκι.

Δημιουργία σειράς πολλαπλών ενεργειών

Μπορείτε να δημιουργήσετε μια σειρά ενεργειών χρησιμοποιώντας τις τάξεις Ενέργεια και Ενέργειες . Απλώς θυμηθείτε να κλείσετε τη σειρά με τη μέθοδο build (). Εξετάστε τον παρακάτω δείγμα κώδικα.

Δημόσιο στατικό κενό (String [] args) {String baseUrl = "http://www.facebook.com/";Πρόγραμμα οδήγησης WebDriver = νέο FirefoxDriver ();driver.get (baseUrl);WebElement txtUsername = driver.findElement (By.id ("email"));Κατασκευαστές ενεργειών = νέες ενέργειες (πρόγραμμα οδήγησης);Σειρά δράσηςOfActions = οικοδόμος.moveToElement (txt Όνομα χρήστη).Κάντε κλικ().keyDown (txtUsername, Keys.SHIFT).sendKeys (txtΟνομα χρήστη, "γεια").keyUp (txtUsername, Keys.SHIFT).doubleClick (txt όνομα χρήστη).contextClick ().χτίζω();seriesOfActions.perform ();}

Περίληψη

  • Ο χειρισμός ειδικών συμβάντων πληκτρολογίου και ποντικιού γίνεται χρησιμοποιώντας το AdvancedUserInteractions API.
  • Τα συμβάντα λέξεων-κλειδιών και ποντικιών που χρησιμοποιούνται συχνά είναι DoubleClick (), keyUp, dragAndDropBy, contextClick & sendKeys.