Tööriistavihje kinnitamine Selenium Veebidraiver

Tööriistavihje sisse Selenium

A Tööriistavihje sisse Selenium on tekst, mis kuvatakse, kui hiirekursor liigub veebilehel oleva objekti kohal. Objektiks võib olla link, pilt, nupp, tekstiala jne. Tööriistavihje tekst annab sageli rohkem teavet objekti kohta, millel kasutaja hiirekursori kohal liigub.

Tööriistavihjeid rakendati traditsiooniliselt elemendi "title" atribuudina. Selle atribuudi väärtust kuvati hiirekursori hõljutamise tööriistaspikrina. See on staatiline tekst, mis annab teavet elemendi kohta ilma stiilita.

Nüüd on tööriistanõuannete rakendamiseks saadaval palju pistikprogramme. Täiustatud tööriistanäpunäiteid koos stiili, renderdamise, piltide ja linkidega rakendatakse kasutades JavaSkripti/JQuery pistikprogrammid või CSS-i tööriistavihjete kasutamine.

  • HTML-i atribuudi "title" abil rakendatavatele staatilistele vihjetele juurdepääsuks või nende kontrollimiseks saame lihtsalt kasutada WebElementi meetodit getAttribute("title"). Selle meetodi tagastatud väärtust (mis on kohtspikri tekst) võrreldakse kontrollimiseks oodatava väärtusega.
  • Muude tööriistavihjete rakendusviiside puhul peame kasutama veebidraiveri pakutavat Advanced User Interactions API-t, et luua hiire hõljumise efekt ja seejärel hankida elemendi kohtspikker.

Lühikirjeldus täiustatud kasutaja interaktsioonide API-st

Advanced User Interactions API pakub API-liidest kasutajatoimingute jaoks, nagu pukseerimine, hõljutamine, mitmekordne valimine, klahvivajutus ja vabastamine ning muud toimingud, kasutades veebilehel klaviatuuri või hiirt.

Võite sellele viidata link API kohta lisateabe saamiseks.

Siin vaatame, kuidas kasutada paari klassi ja meetodit, mida vajaksime liuguri elemendi liigutamiseks nihke võrra.

Step 1) API kasutamiseks tuleb importida järgmised paketid/klassid:

Advanced User Interactions API

Step 2) Looge klassi "Toimingud" objekt ja looge kasutaja toimingute jada. Klassi Actions kasutatakse kasutaja toimingute järjestuse koostamiseks, nagu moveToElement(), dragAndDrop() jne. API pakub erinevaid kasutajatoimingutega seotud meetodeid.

Draiveri objekt antakse selle konstruktorile parameetrina.

Advanced User Interactions API

Step 3) Looge tegevusobjekt, kasutades klassi "Actions" meetodit build(). Kõikide objekti Actions (ehitaja siin) loodud toimingute käivitamiseks kutsuge meetod performance().

Advanced User Interactions API

Oleme näinud, kuidas kasutada mõnda API pakutavat kasutajatoimingute meetodit – clickAndHold(element), moveByOffset(10,0), release(). API pakub palju selliseid meetodeid.

Vt link rohkem üksikasju.

Tööriistavihje kinnitamine (käsitsemine) Selenium

Vaatame lihtsa stsenaariumi korral tööriistanäpunäidetele juurdepääsu ja nende kontrollimise demonstratsiooni

  • 1. stsenaarium: tööriistavihje rakendatakse atribuudi "title" abil
  • 2. stsenaarium: tööriistavihje rakendatakse jQuery pistikprogrammi abil.

1. stsenaarium: HTML-i atribuut „title”.

Sel juhul võtame näitesaidi – https://demo.guru99.com/test/social-icon.html.

Püüame kontrollida lehe paremas ülanurgas oleva ikooni „github” kohtspikri.

HTML-i atribuut "title".

Selleks leiame esmalt elemendi ja saame selle atribuudi 'title' ning kinnitame selle eeldatava tööriistavihje tekstiga.

Kuna me eeldame, et tööriista näpunäide on atribuudis "title", ei automatiseeri me isegi hiire hõljumise efekti, vaid lihtsalt hangime atribuudi väärtuse meetodi getAttribute() abil.

HTML-i atribuut "title".

Siin on kood

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();			
   }		
}		

Koodi selgitus

  1. Leidke WebElement, mis tähistab ikooni „github”.
  2. Hankige selle atribuut "title", kasutades meetodit getAttribute().
  3. Kinnitage väärtus võrreldes eeldatava tööriistaspikri väärtusega.

2. stsenaarium: JQuery plugin

Vihjete rakendamiseks on saadaval palju JQuery pistikprogramme ja igaühel neist on veidi erinev juurutamise vorm.

Mõned pistikprogrammid eeldavad, et kohtspikri HTML on kogu aeg selle elemendi kõrval, mille jaoks kohtspikker on rakendatav, samas kui teised loovad dünaamilise „div” märgendi, mis kuvatakse käigult elemendi kohal hõljutades.

Vaatleme oma tutvustamiseks jQuery tööriistade tööriistavihjet.

Siin URL-is – https://demo.guru99.com/test/tooltip.html näete demo, kus hiirt hõljutades valiku „Laadi kohe alla” kohal, saame täiustatud tööriistaspikri koos pildi, tähelepanulaiendi tausta, tabeli ja selle sees oleva lingiga, mida saab klõpsata.

JQuery plugin

Kui vaatate allolevat allikat, näete, et tööriistavihjet esindav div-märgend on alati lingi „Laadi kohe alla” märgendi kõrval. Kuid alloleva skriptimärgendi sees olev kood juhib, millal see hüpikaknasse ilmub.

JQuery plugin

Proovime kontrollida ainult lingi teksti meie esitluse kohtspikris.

Esmalt leiame veebielemendi, mis vastab valikule "Laadi kohe alla". Seejärel liigume Interactions API abil elemendi juurde (hiire hõljutamine). Järgmisena leiame kuvatavas vihjes olevale lingile vastava veebielemendi ja kontrollime seda oodatud tekstiga.

JQuery plugin

Siin on kood

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();			
   }		
}		

Koodi selgitus

  1. Leidke WebElement, mis vastab elemendile "allalaadimine kohe", millele hõljutame kursorit.
  2. Kasutades Interactions API-d, hõljutage kursorit valikule „Laadi kohe alla”.
  3. Eeldusel, et kuvatakse kohtspikker, leidke veebielement, mis vastab vihje sees olevale lingile, st märgend "a".
  4. Kontrollige lingi tööriistavihje teksti, mis on hangitud käsuga getText(), võrreldes eeldatava väärtusega, mille oleme salvestanud jaotisesse "expectedToolTip".

kokkuvõte

Sellest õpetusest õppisite, kuidas tööriistaspikritele juurde pääseda Selenium Veebidraiver.

Tööriistanõuandeid rakendatakse erineval viisil –

  • Põhirakendus põhineb HTML-i atribuudil "title". getAttribute(title) saab kohtspikri väärtuse.
  • Muud tööriistanõuanded, nagu JQuery, CSS-i tööriistavihjed nõuavad hiire hõljutamise efekti loomiseks interaktsioonide API-t

Advanced User Interactions API –

  • Klassi Actions elementi moveToElement(element) kasutatakse elemendi hiirekursori hõljutamiseks.
  • Actions klassi meetod Build() loob kasutaja tegevuste jada Action-objektiks.
  • Action klassi Perform() käivitab kõik kasutaja toimingute jada korraga.

Tööriistaspikri kontrollimiseks peame esmalt viima hiirekursorit elemendile, seejärel leidma tööriista otsale vastava elemendi ja hankima selle teksti või muud väärtused, mida oodatavate väärtustega võrrelda.