check visibility web elements using various types webdriver commands selenium tutorial 14
Sådan kontrolleres synligheden af webelementer ved hjælp af forskellige typer looping og betingede kommandoer i WebDriver:
Tidligere i serien diskuterede vi om WebDriver's Select-klasse som primært bruges til at håndtere webelementer som dropdowns og vælge forskellige muligheder under dropdowns.
Gå videre i Selen-serien , ville vi diskutere om de forskellige typer looping og betingede kommandoer i WebDriver som isSelected (), isEnabled () og isDispalyed (). Disse metoder bruges til at bestemme synlighedsområdet for webelementerne.
Så lad os starte med en kort introduktion - WebDriver har en W3C-specifikation, der detaljerer oplysningerne om de forskellige synlighedsindstillinger baseret på de typer webelementer, som handlingerne skal udføres på.
WebDriver letter brugeren med følgende metoder til at kontrollere synligheden af webelementerne. Disse webelementer kan være knapper, dropbokse, afkrydsningsfelter, radioknapper, etiketter osv.
- isDisplayed ()
- isSelected ()
- isEnabled ()
For en forbedret forståelse, lad os diskutere de førnævnte metoder med kodeeksempler.
Som en prøve vil vi bruge “google.com” som en applikation under test og “Learning_Selenium” -projektet oprettet i de foregående tutorials til generering af script.
Scenarie skal automatiseres
- Start webbrowseren, og åbn applikationen under test - http://google.com
- Bekræft websides titel
- Bekræft, om knappen 'Google-søgning' vises
- Indtast nøgleordet i tekstfeltet 'Google-søgning', hvormed vi ønsker at stille anmodningen
- Kontroller, at 'Søgeknappen' vises og aktiveret
- Baseret på synligheden af søgeknappen skal du klikke på søgeknappen
Hvad du lærer:
WebDriver-kode
Trin 1: Opret en ny java-klasse med navnet “VisibilityConditions” under “Learning_Selenium” -projektet.
shell-script for at sammenligne to filer
Trin 2: Kopier og indsæt nedenstående kode i klassen “VisibilityConditions.java”.
Nedenfor er testscriptet, der svarer til ovennævnte scenario:
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class VisibilityConditions { /** * @param args */ public static void main(String() args) { // objects and variables instantiation WebDriver driver = new FirefoxDriver(); String appUrl = 'https://google.com'; // launch the firefox browser and open the application url driver.get(appUrl); // maximize the browser window driver.manage().window().maximize(); // declare and initialize the variable to store the expected title of the webpage. String expectedTitle = 'Google'; // fetch the title of the web page and save it into a string variable String actualTitle = driver.getTitle(); // compare the expected title of the page with the actual title of the page and print the result if (expectedTitle.equals(actualTitle)) { System.out.println('Verification Successful - The correct title is displayed on the web page.'); } else { System.out.println('Verification Failed - An incorrect title is displayed on the web page.'); } // verify if the “Google Search” button is displayed and print the result boolean submitbuttonPresence=driver.findElement(By.id('gbqfba')).isDisplayed(); System.out.println(submitbuttonPresence); // enter the keyword in the “Google Search” text box by which we would want to make the request WebElement searchTextBox = driver.findElement(By.id('gbqfq')); searchTextBox.clear(); searchTextBox.sendKeys('Selenium'); // verify that the “Search button” is displayed and enabled boolean searchIconPresence = driver.findElement(By.id('gbqfb')).isDisplayed(); boolean searchIconEnabled = driver.findElement(By.id('gbqfb')).isEnabled(); if (searchIconPresence==true && searchIconEnabled==true) { // click on the search button WebElement searchIcon = driver.findElement(By.id('gbqfb')); searchIcon.click(); } // close the web browser driver.close(); System.out.println('Test script executed successfully.'); // terminate the program System.exit(0); } }
Kodegennemgang
Følgende er de måder, hvorpå vi fastslår tilstedeværelsen af webelementer på websiden.
boolsk submitbuttonPresence = driver.findElement (By.id ( 'Tro på' er) vises ();
isDispalyed ()
isDisplayed () er den metode, der bruges til at verificere tilstedeværelsen af et webelement på websiden. Metoden er designet til at resultere fra en boolsk værdi med hver succes og fiasko. Metoden returnerer en 'sand' værdi, hvis det angivne webelement er til stede på websiden og en 'falsk' værdi, hvis webelementet ikke er til stede på websiden.
Ovenstående kodestykke verificerer således for tilstedeværelsen af afsendeknappen på google-websiden og returnerer en sand værdi, hvis afsendeknappen er til stede og synlig ellers returnerer en falsk værdi, hvis afsendeknappen ikke er til stede på websiden.
boolsk searchIconEnabled = driver.findElement (By.id ( 'Gbqfb' isEnabled ();
Metoden beskæftiger sig med synligheden af alle slags webelementer, ikke kun begrænset til en hvilken som helst type.
isEnabled ()
isEnabled () er den metode, der bruges til at kontrollere, om webelementet er aktiveret eller deaktiveret på websiden. Som metoden isDisplayed () er den designet til at resultere i en boolsk værdi med hver succes og fiasko. Metoden returnerer en 'sand' værdi, hvis det angivne webelement er aktiveret på websiden og en 'falsk' værdi, hvis webelementet ikke er aktiveret (tilstanden er deaktiveret) på websiden.
Ovenstående kodestykke verificerer således, om knappen Send er aktiveret eller ej, og returnerer en boolsk værdi afhængigt af resultatet.
Metoden isEnabled () er vigtig i scenarier, hvor vi ønsker at fastslå, at kun hvis 'Betingelse A' er opfyldt, så er elementet (primært knap) aktiveret. Se følgende illustration for det samme.
I ovenstående figur er knappen Registrer kun aktiveret, når afkrydsningsfeltet for aftale er markeret.
I lighed med ovenstående metoder har vi en metode henvist til som 'isSelected ()', som tester, om det angivne webelement er valgt eller ej.
boolsk searchIconSelected = driver.findElement (By.id ( 'han' isSelected ();
c ++ stack datastruktur
isSelected ()
isSelected () er den metode, der bruges til at kontrollere, om webelementet er valgt eller ej. metoden isSelected () bruges overvejende med radioknapper, dropdown og afkrydsningsfelter. Analogt med ovenstående metoder er det designet til at resultere i en boolsk værdi med hver succes og fiasko.
Således verificerer ovenstående kodestykke, om den mandlige radioknap er valgt eller ej, og returnerer en boolsk værdi afhængigt af resultatet. Se følgende billede for det samme.
Konklusion
I denne vejledning forsøgte vi at gøre dig bekendt med WebDrivers looping og betingede operationer. Disse betingede metoder behandler ofte næsten alle typer synlighedsindstillinger for webelementer.
Artikeloversigt:
- WebDriver har en W3C-specifikation, der detaljerer oplysningerne om de forskellige synlighedspræferencer baseret på typerne af webelementerne.
- isDisplayed () er den metode, der bruges til at verificere tilstedeværelsen af et webelement på websiden. Metoden returnerer en 'sand' værdi, hvis det angivne webelement er til stede på websiden og en 'falsk' værdi, hvis webelementet ikke er til stede på websiden.
- isDisplayed () er i stand til at kontrollere for tilstedeværelsen af alle slags tilgængelige webelementer.
- isEnabled () er den metode, der bruges til at kontrollere, om webelementet er aktiveret eller deaktiveret på websiden.
- isEnabled () bruges primært med knapper.
- isSelected () er den metode, der bruges til at kontrollere, om webelementet er valgt eller ej. metoden isSelected () bruges overvejende med radioknapper, dropdown og afkrydsningsfelter.
Næste tutorial # 15 : Mens vi arbejder på webapplikationer, omdirigeres vi ofte til forskellige websider ved at opdatere hele websiden og genindlæse de nye webelementer. Til tider kan der også være Ajax-opkald. Således kan en tidsforsinkelse ses, mens websider genindlæses og reflekteres på webelementerne. Således handler vores næste tutorial online om at håndtere sådanne tidsforsinkelser ved at bruge implicitte og eksplicitte ventetider.
Bemærk til læserne : Indtil da kan læseren automatisere og teste synlighedsområdet for webelementerne ved hjælp af WebDrivers metoder.
Anbefalet læsning
- Introduktion til Selen WebDriver - Selen Tutorial # 8
- Implementering af vores første WebDriver Script - Selenium WebDriver Tutorial # 10
- Sådan finder du elementer i Chrome og IE-browsere til opbygning af selen-scripts - Selen Tutorial # 7
- Agurk Selen Tutorial: Agurk Java Selen WebDriver Integration
- WebDriver hele opsætningen og installationen med Eclipse - Selenium-tutorial # 9
- Sådan bruges CSS Selector til identifikation af webelementer til selen-scripts - Selen Tutorial # 6
- Effektiv Selen Scripting og fejlfinding af scenarier - Selen Tutorial # 27
- Fejlfinding af selen-scripts med logfiler (Log4j-vejledning) - Selen-tutorial # 26