Πώς να επαληθεύσετε την επεξήγηση εργαλείου χρησιμοποιώντας το Selenium WebDriver

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

Anonim

Επεξήγηση εργαλείου στο Σελήνιο

Μια συμβουλή εργαλείου στο Σελήνιο είναι ένα κείμενο που εμφανίζεται όταν ένα ποντίκι αιωρείται πάνω από ένα αντικείμενο σε μια ιστοσελίδα. Το αντικείμενο μπορεί να είναι ένας σύνδεσμος, μια εικόνα, ένα κουμπί, μια περιοχή κειμένου κ.λπ. Το κείμενο επεξήγησης εργαλείων δίνει συχνά περισσότερες πληροφορίες σχετικά με το αντικείμενο στο οποίο ο χρήστης αιωρείται πάνω από τον κέρσορα του ποντικιού.

Οι συμβουλές εργαλείων εφαρμόστηκαν παραδοσιακά ως χαρακτηριστικό «τίτλος» σε ένα στοιχείο. Η τιμή αυτού του χαρακτηριστικού εμφανίστηκε ως συμβουλή εργαλείου στο ποντίκι. Αυτό είναι ένα στατικό κείμενο που δίνει πληροφορίες για το στοιχείο χωρίς στυλ.

Τώρα, υπάρχουν πολλά πρόσθετα διαθέσιμα για την εφαρμογή «συμβουλές εργαλείων». Οι προηγμένες συμβουλές εργαλείων με στυλ, απόδοση, εικόνες και συνδέσμους εφαρμόζονται χρησιμοποιώντας πρόσθετα JavaScript / JQuery ή χρησιμοποιώντας συμβουλές εργαλείων CSS.

  • Για πρόσβαση ή επαλήθευση των στατικών συμβουλών εργαλείων που εφαρμόζονται χρησιμοποιώντας το χαρακτηριστικό "τίτλος" HTML, μπορούμε απλώς να χρησιμοποιήσουμε τη μέθοδο getAttribute ("title") του WebElement. Η επιστρεφόμενη τιμή αυτής της μεθόδου (που είναι το κείμενο επεξήγησης εργαλείου) συγκρίνεται με μια αναμενόμενη τιμή για επαλήθευση.
  • Για άλλες μορφές υλοποιήσεων συμβουλών εργαλείων, θα πρέπει να χρησιμοποιήσουμε το "Advanced User Interactions API" που παρέχεται από το πρόγραμμα οδήγησης Web για να δημιουργήσουμε το εφέ του ποντικιού και στη συνέχεια να ανακτήσουμε την συμβουλή εργαλείου για το στοιχείο.

Μια σύντομη περιγραφή του API αλληλεπιδράσεων για προχωρημένους χρήστες:

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

Μπορείτε να ανατρέξετε σε αυτόν τον σύνδεσμο για περισσότερες λεπτομέρειες σχετικά με το API.

https://seleniumhq.github.io/selenium/docs/api/java/index.html?org/openqa/selenium/interactions/Actions.html

Εδώ, ας δούμε πώς να χρησιμοποιούμε μερικές κατηγορίες και μεθόδους που θα χρειαζόμασταν για να μετακινήσουμε ένα στοιχείο ολίσθησης από μια μετατόπιση.

Βήμα 1) Για να χρησιμοποιήσετε το API, πρέπει να εισαχθούν τα ακόλουθα πακέτα / τάξεις:

Βήμα 2) Δημιουργήστε ένα αντικείμενο της κλάσης "Ενέργειες" και δημιουργήστε την ακολουθία των ενεργειών χρήστη. Η κλάση ενεργειών χρησιμοποιείται για τη δημιουργία της ακολουθίας ενεργειών χρήστη, όπως το moveToElement (), dragAndDrop () κ.λπ. Διάφορες μέθοδοι που σχετίζονται με ενέργειες χρήστη παρέχονται από το API.

Το αντικείμενο προγράμματος οδήγησης παρέχεται ως παράμετρος στον κατασκευαστή του.

Βήμα 3) Δημιουργήστε ένα αντικείμενο δράσης χρησιμοποιώντας τη μέθοδο build () της κλάσης "Ενέργειες". Καλέστε τη μέθοδο perform () για να εκτελέσετε όλες τις ενέργειες που δημιουργήθηκαν από το αντικείμενο Actions (το builder εδώ).

Έχουμε δει πώς να χρησιμοποιούμε ορισμένες από τις μεθόδους ενεργειών χρήστη που παρέχονται από το API - clickAndHold (element), moveByOffset (10,0), release (). Το API παρέχει πολλές τέτοιες μεθόδους.

Ανατρέξτε στον σύνδεσμο για περισσότερες λεπτομέρειες.

Τρόπος λήψης κειμένου συμβουλής εργαλείου στο Selenium Webdriver

Ας δούμε την επίδειξη πρόσβασης και επαλήθευσης των συμβουλών του εργαλείου στο απλό σενάριο

  • Σενάριο 1: Η επεξήγηση εργαλείου υλοποιείται χρησιμοποιώντας το χαρακτηριστικό "title"
  • Σενάριο 2: Η επεξήγηση εργαλείου υλοποιείται χρησιμοποιώντας μια προσθήκη jQuery.

Σενάριο 1: Χαρακτηριστικό "τίτλος" HTML

Για αυτήν την περίπτωση, ας πάρουμε το παράδειγμα ιστότοπου - http://demo.guru99.com/test/social-icon.html.

Θα προσπαθήσουμε να επαληθεύσουμε την συμβουλή εργαλείου του εικονιδίου "github" στην επάνω δεξιά γωνία της σελίδας.

Για να το κάνουμε, θα βρούμε πρώτα το στοιχείο και θα λάβουμε το χαρακτηριστικό «τίτλος» και θα επαληθεύσουμε με το αναμενόμενο κείμενο συμβουλής εργαλείου.

Δεδομένου ότι υποθέτουμε ότι η συμβουλή εργαλείου βρίσκεται στο χαρακτηριστικό "title", δεν αυτοματοποιούμε καν το εφέ του ποντικιού, αλλά απλώς ανακτώντας την τιμή του χαρακτηριστικού χρησιμοποιώντας τη μέθοδο "getAttribute ()".

Εδώ είναι ο κωδικός

εισαγωγή org.openqa.selenium.By;εισαγωγή org.openqa.selenium.WebDriver;εισαγωγή org.openqa.selenium.chrome.ChromeDriver;εισαγωγή org.openqa.selenium. *;Συμβουλή εργαλείου δημόσιας τάξης {Δημόσιο στατικό κενό (String [] args) {String baseUrl = "http://demo.guru99.com/test/social-icon.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Πρόγραμμα οδήγησης WebDriver = νέο ChromeDriver ();driver.get (baseUrl);String waitingTooltip = "Github";// Βρείτε το εικονίδιο Github στην επάνω δεξιά γωνία της κεφαλίδαςWebElement github = driver.findElement (By.xpath (".//*[@ class = 'soc-ico show-round'] / a [4]"));// λάβετε την τιμή του χαρακτηριστικού "title" του εικονιδίου githubString actualTooltip = github.getAttribute ("τίτλος");// Βεβαιωθείτε ότι η τιμή της συμβουλής εργαλείου είναι όπως αναμένεταιSystem.out.println ("Πραγματικός τίτλος του εργαλείου συμβουλή" + πραγματικό εργαλείο)εάν (actualTooltip.equals (αναμενόμενοTooltip)) {System.out.println ("Η δοκιμαστική υπόθεση πέρασε");}driver.close ();}}

Επεξήγηση του κωδικού

  1. Βρείτε το WebElement που αντιπροσωπεύει το εικονίδιο "github".
  2. Αποκτήστε το χαρακτηριστικό "title" χρησιμοποιώντας τη μέθοδο getAttribute ().
  3. Επιβεβαιώστε την τιμή με την αναμενόμενη τιμή επεξήγησης εργαλείου

Σενάριο 2: Πρόσθετο JQuery:

Υπάρχουν πολλά πρόσθετα JQuery διαθέσιμα για την εφαρμογή των συμβουλών εργαλείων και το καθένα έχει μια ελαφρώς διαφορετική μορφή υλοποίησης.

Ορισμένα πρόσθετα αναμένουν ότι η HTML επεξήγησης εργαλείων θα υπάρχει συνεχώς δίπλα στο στοιχείο για το οποίο εφαρμόζεται η συμβουλή εργαλείου, ενώ τα άλλα δημιουργούν μια δυναμική ετικέτα "div", η οποία εμφανίζεται εν κινήσει ενώ αιωρείται πάνω από το στοιχείο.

Για την επίδειξή μας, ας εξετάσουμε τον τρόπο υλοποίησης της επεξήγησης εργαλείων "jQuery Tools Tooltip".

Εδώ στη διεύθυνση URL - http://demo.guru99.com/test/tooltip.html μπορείτε να δείτε την επίδειξη όπου στο ποντίκι αιωρείται πάνω από το "Λήψη τώρα", λαμβάνουμε μια προηγμένη συμβουλή εργαλείου με εικόνα, φόντο επεξήγησης, έναν πίνακα και έναν σύνδεσμο μέσα του στον οποίο μπορείτε να κάνετε κλικ.

Αν κοιτάξετε την πηγή παρακάτω, μπορείτε να δείτε ότι η ετικέτα div που αντιπροσωπεύει την επεξήγηση εργαλείου υπάρχει πάντα δίπλα στην ετικέτα του συνδέσμου "Λήψη τώρα". Όμως, ο κώδικας εντός της ετικέτας δέσμης ενεργειών ελέγχει πότε πρέπει να αναδυθεί.

Ας προσπαθήσουμε να επαληθεύσουμε μόνο το κείμενο συνδέσμου στην επεξήγηση εργαλείου για την επίδειξή μας εδώ.

Αρχικά θα βρούμε το WebElement που αντιστοιχεί στο "Λήψη τώρα". Στη συνέχεια, χρησιμοποιώντας το API αλληλεπιδράσεων, θα μετακινηθούμε στο στοιχείο (ποντίκι-δείκτη) Στη συνέχεια, θα βρούμε το WebElement που αντιστοιχεί στον σύνδεσμο μέσα στην εμφανιζόμενη επεξήγηση εργαλείου και θα το επαληθεύσουμε με το αναμενόμενο κείμενο.

Εδώ είναι ο κωδικός

εισαγωγή org.openqa.selenium.interactions.Action;εισαγωγή org.openqa.selenium.interactions.Actions;εισαγωγή org.openqa.selenium.By;εισαγωγή org.openqa.selenium.WebDriver;εισαγωγή org.openqa.selenium.chrome.ChromeDriver;εισαγωγή org.openqa.selenium. *;δημόσια τάξη JqueryToolTip {Δημόσιο στατικό κενό (String [] args) {String baseUrl = "http://demo.guru99.com/test/tooltip.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Πρόγραμμα οδήγησης WebDriver = νέο ChromeDriver ();String waitingTooltip = "Τι νέο υπάρχει στο 3.2";driver.get (baseUrl);Λήψη WebElement = driver.findElement (By.xpath (".//*[@ id = 'download_now']"));Κατασκευαστές ενεργειών = νέες ενέργειες (πρόγραμμα οδήγησης);builder.clickAndHold (). moveToElement (λήψη);builder.moveToElement (λήψη) .build (). εκτέλεση ();WebElement toolTipElement = driver.findElement (By.xpath (".//*[@ class = 'box'] / div / a"));String actualTooltip = toolTipElement.getText ();System.out.println ("Πραγματικός τίτλος του εργαλείου συμβουλή" + πραγματικό εργαλείο)εάν (actualTooltip.equals (αναμενόμενοTooltip)) {System.out.println ("Η δοκιμαστική υπόθεση πέρασε");}driver.close ();}}

Επεξήγηση κώδικα

  1. Βρείτε το WebElement που αντιστοιχεί στο στοιχείο "λήψη τώρα" που θα τοποθετήσετε το ποντίκι.
  2. Χρησιμοποιώντας το API αλληλεπιδράσεων, μετακινήστε το ποντίκι στο "Λήψη τώρα".
  3. Ας υποθέσουμε ότι εμφανίζεται η συμβουλή εργαλείου, βρείτε το WebElement που αντιστοιχεί στον σύνδεσμο μέσα στην συμβουλή εργαλείου, δηλαδή στην ετικέτα "a"
  4. Επαληθεύστε το κείμενο της συμβουλής εργαλείου του συνδέσμου που ανακτήθηκε χρησιμοποιώντας το getText () έναντι μιας αναμενόμενης τιμής που έχουμε αποθηκεύσει στο "expectToolTip"

Περίληψη:

Σε αυτό το σεμινάριο, έχετε μάθει πώς να αποκτήσετε πρόσβαση στις συμβουλές εργαλείων χρησιμοποιώντας το πρόγραμμα οδήγησης Selenium Web.

  • Οι συμβουλές εργαλείων εφαρμόζονται με διαφορετικούς τρόπους -
    • Η βασική εφαρμογή βασίζεται στο χαρακτηριστικό "τίτλος" HTML. getAttribute (τίτλος) παίρνει την τιμή της συμβουλής εργαλείου.
    • Άλλες εφαρμογές συμβουλών εργαλείων όπως το JQuery, οι συμβουλές εργαλείων CSS απαιτούν API αλληλεπίδρασης για να δημιουργήσουν εφέ ποντικιού
  • Προηγμένο API αλληλεπιδράσεων χρηστών
    • Το moveToElement (στοιχείο) της κλάσης Ενέργειες χρησιμοποιείται για την τοποθέτηση ενός στοιχείου στο ποντίκι.
    • Build () μέθοδος της κλάσης Ενέργειες χτίζει την ακολουθία των ενεργειών χρήστη σε ένα αντικείμενο δράσης
    • Η εκτέλεση () της κατηγορίας Action εκτελεί ταυτόχρονα όλη την ακολουθία των ενεργειών χρήστη.
  • Για να επαληθεύσουμε μια συμβουλή εργαλείου, πρέπει πρώτα να τοποθετήσουμε το δείκτη του ποντικιού στο στοιχείο και, στη συνέχεια, να βρούμε το στοιχείο που αντιστοιχεί στην άκρη του εργαλείου και να λάβουμε το κείμενο ή άλλες τιμές για επαλήθευση έναντι των αναμενόμενων τιμών.