В този урок ще видим как да идентифицираме следните елементи на формуляра
- Радио бутон
- Поле за отметка
Радио бутон
Радио бутоните също могат да бъдат включени чрез метода click ().
Използвайки http://demo.guru99.com/test/radio.html за практика, вижте, че radio1.click () превключва на бутона за избор "Option1". radio2.click () превключва на бутона за избор "Option2", оставяйки "Option1" неизбран.
Поле за отметка
Включването / изключването на квадратчето за отметка също се извършва чрез метода click () .
Кодът по-долу ще щракне два пъти върху квадратчето за отметка „Запази ме влязъл в системата“ и след това ще изведе резултата като TRUE, когато е включен, и FALSE, ако е изключен.
Методът isSelected () се използва, за да се знае дали квадратчето за отметка е включено или изключено.
Ето още един пример: http://demo.guru99.com/test/radio.html
Пълен код
Ето пълния работен код
внос org.openqa.selenium.By;импортиране на org.openqa.selenium.WebDriver;импортиране на org.openqa.selenium.chrome.ChromeDriver;внос org.openqa.selenium. *;формуляр за публичен клас {публична статична void main (String [] args) {// деклариране и инстанциране на обекти / променливиSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Драйвер за WebDriver = нов 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"));// Избран е радио бутон1radio1.click ();System.out.println ("Избран вариант 1 на радио бутон");// Радио бутон1 е отменен и е избран Радио бутон2radio2.click ();System.out.println („Избран вариант на радио бутон 2“);// Избиране на CheckBoxWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Това ще превключва квадратчето за отметкаoption1.click ();// Проверете дали квадратчето за отметка е включеноif (option1.isSelected ()) {System.out.println („Полето за отметка е включено“);} друго {System.out.println („Полето за отметка е изключено“);}// Избиране на квадратче за отметка и използване на isSelected Methoddriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("persist_box"));за (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("Състоянието на отметката във Facebook продължава -" + chkFBPersist.isSelected ());}//driver.close ();}}
Отстраняване на неизправности
Ако срещнете NoSuchElementException (), докато намирате елементи, това означава, че елементът не е намерен на страницата в точката, в която уеб драйверът е осъществил достъп до страницата.
- Проверете отново локатора си, като използвате Firepath или Inspect Element в Chrome.
- Проверете дали стойността, която сте използвали в кода, е различна от тази за елемента в Firepath сега.
- Някои свойства са динамични за няколко елемента. В случай, че установите, че стойността е различна и се променя динамично, помислете за използването на By.xpath () или By.cssSelector (), които са по-надеждни, но сложни начини.
- Понякога това може да е и проблем с изчакването, т.е. уеб драйверът е изпълнил вашия код дори преди страницата да се зареди напълно и т.н.
- Добавете изчакване преди findElement (), използвайки неявни или явни изчаквания.
Обобщение
- Таблицата по-долу обобщава командите за достъп до всеки тип елемент, обсъден по-горе
Елемент | Команда | Описание |
---|---|---|
Поле за отметка, радио бутон | щракнете () | използва се за включване / изключване на елемента |