Πώς να επαληθεύσετε την επεξήγηση εργαλείου Selenium Πρόγραμμα οδήγησης Web

Επεξήγηση εργαλείου Selenium

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

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

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

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

Σύντομη περιγραφή του API Advanced User Interactions

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

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

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

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

Advanced User Interactions API

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

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

Advanced User Interactions API

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

Advanced User Interactions API

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

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

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

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

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

Σενάριο 1: Χαρακτηριστικό 'title' HTML

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

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

Χαρακτηριστικό 'title' HTML

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

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

Χαρακτηριστικό 'title' HTML

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

import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.chrome.ChromeDriver;		
import org.openqa.selenium.*;		

public class ToolTip {				
    public static void main(String[] args) {									
     
        String baseUrl = "https://demo.guru99.com/test/social-icon.html";					
        System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe");					
        WebDriver driver = new ChromeDriver();					
        driver.get(baseUrl);					
        String expectedTooltip = "Github";	
        
        // Find the Github icon at the top right of the header		
        WebElement github = driver.findElement(By.xpath(".//*[@class='soc-ico show-round']/a[4]"));	
        
        //get the value of the "title" attribute of the github icon		
        String actualTooltip = github.getAttribute("title");	
        
        //Assert the tooltip's value is as expected 		
        System.out.println("Actual Title of Tool Tip"+actualTooltip);							
        if(actualTooltip.equals(expectedTooltip)) {							
            System.out.println("Test Case Passed");					
        }		
        driver.close();			
   }		
}		

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

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

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

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

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

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

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

Πρόσθετο JQuery

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

Πρόσθετο JQuery

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

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

Πρόσθετο JQuery

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

import org.openqa.selenium.interactions.Action;		
import org.openqa.selenium.interactions.Actions;		
import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.chrome.ChromeDriver;		
import org.openqa.selenium.*;		

public class JqueryToolTip {				
    public static void main(String[] args) {									
     
        String baseUrl = "https://demo.guru99.com/test/tooltip.html";					
        System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe");	
        
        WebDriver driver = new ChromeDriver();					
        String expectedTooltip = "What's new in 3.2";					
        driver.get(baseUrl);					
        		
        WebElement download = driver.findElement(By.xpath(".//*[@id='download_now']"));							
        Actions builder = new Actions (driver);							

        builder.clickAndHold().moveToElement(download);					
        builder.moveToElement(download).build().perform(); 	
        
        WebElement toolTipElement = driver.findElement(By.xpath(".//*[@class='box']/div/a"));							
        String actualTooltip = toolTipElement.getText();			
        
        System.out.println("Actual Title of Tool Tip  "+actualTooltip);							
        if(actualTooltip.equals(expectedTooltip)) {							
            System.out.println("Test Case Passed");					
        }		
        driver.close();			
   }		
}		

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

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

Χαρακτηριστικά

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

Οι συμβουλές εργαλείων εφαρμόζονται με διαφορετικούς τρόπους –

  • Η βασική υλοποίηση βασίζεται στο χαρακτηριστικό «title» της HTML. Το getAttribute(title) παίρνει την τιμή της συμβουλής εργαλείου.
  • Άλλες εφαρμογές συμβουλών εργαλείων όπως το JQuery, οι συμβουλές εργαλείων CSS απαιτούν το Interactions API για τη δημιουργία εφέ αιώρησης του ποντικιού

Advanced User Interactions API–

  • Το moveToElement(στοιχείο) της κλάσης Actions χρησιμοποιείται για την τοποθέτηση του ποντικιού σε ένα στοιχείο.
  • Η μέθοδος Build() της κλάσης Actions δημιουργεί την ακολουθία ενεργειών χρήστη σε ένα αντικείμενο Action.
  • Η Perform() της κλάσης Action εκτελεί όλη την ακολουθία ενεργειών χρήστη ταυτόχρονα.

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