Sådan vælges afkrydsningsfelt og radioknap i Selen WebDriver

Indholdsfortegnelse:

Anonim

I denne vejledning vil vi se, hvordan man identificerer følgende formularer

  • Radio knap
  • Afkrydsningsfelt

Radio knap

Radioknapper kan også aktiveres ved at bruge metoden click ().

Brug http://demo.guru99.com/test/radio.html til øvelse, se at radio1.click () skifter til alternativknappen "Option1". radio2.click () skifter til alternativknappen "Option2", der efterlader "Option1" umarkeret.

Afkrydsningsfelt

Slå et afkrydsningsfelt til / fra sker også ved hjælp af klik () metoden.

Koden nedenfor vil klikke på Facebook's "Hold mig logget ind" afkrydsningsfeltet to gange og derefter output resultatet som SAND når det er slået til og FALSK hvis det er slået fra.

metoden isSelected () bruges til at vide, om afkrydsningsfeltet er slået til eller fra.

Her er et andet eksempel: http://demo.guru99.com/test/radio.html

Komplet kode

Her er den komplette arbejdskode

importer org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium. *;offentlig klasse formular {public static void main (String [] args) {// erklæring og instantiering af objekter / variablerSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver-driver = ny ChromeDriver ();driver.get ("http://demo.guru99.com/test/radio.html");WebElement radio1 = driver.findElement (By.id ("vfb-7-1"));WebElement radio2 = driver.findElement (By.id ("vfb-7-2"));// Radioknap1 er valgtradio1.click ();System.out.println ("Valg af alternativknap 1 valgt");// Radio Button1 er fravalgt, og Radio Button2 er valgtradio2.click ();System.out.println ("Valg af alternativknap 2");// Valg af afkrydsningsfeltWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Dette skifter afkrydsningsfeltetoption1.click ();// Kontroller, om afkrydsningsfeltet er slået tilhvis (option1.isSelected ()) {System.out.println ("Afkrydsningsfeltet er slået til");} andet {System.out.println ("Afkrydsningsfeltet er slået fra");}// Valg af afkrydsningsfelt og brug af isSelected Methoddriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("persist_box"));for (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("Facebook vedvarer afkrydsningsfeltets status er -" + chkFBPersist.isSelected ());}//driver.close ();}}

Fejlfinding

Hvis du støder på NoSuchElementException (), mens du finder elementer, betyder det, at elementet ikke findes på siden på det tidspunkt, hvor webdriveren åbnede siden.

  1. Tjek din lokaliser igen ved hjælp af Firepath eller Inspect Element i Chrome.
  2. Kontroller, om den værdi, du brugte i koden, er forskellig fra den for elementet i Firepath nu.
  3. Nogle egenskaber er dynamiske for få elementer. I tilfælde af at du finder ud af, at værdien er forskellig og ændrer sig dynamisk, kan du overveje at bruge By.xpath () eller By.cssSelector (), som er mere pålidelige men komplekse måder.
  4. Nogle gange kan det også være et venteproblem, dvs. webdriveren udførte din kode, selv før siden blev indlæst helt osv.
  5. Tilføj et ventetid før findElement () ved hjælp af implicit eller eksplicit ventetid.

Resumé

  • Tabellen nedenfor opsummerer kommandoerne for at få adgang til hver type element diskuteret ovenfor
Element Kommando Beskrivelse
Afkrydsningsfelt, radioknap klik () bruges til at slå elementet til / fra