Szelén űrlap WebElement: TextBox, Button, sendkeys (), kattintson ()

Tartalomjegyzék:

Anonim

Az űrlapok az alapvető webelemek az információk fogadásához a weboldal látogatóitól. A webes űrlapok különböző GUI elemekkel rendelkeznek, például szövegdobozok, jelszómezők, jelölőnégyzetek, rádiógombok, legördülő menük, fájlbemenetek stb.

Meglátjuk, hogyan lehet hozzáférni ezekhez a különböző űrlapelemekhez a Selenium Web Driver Java használatával. A szelén minden űrlapelemet a WebElement objektumaként foglal magában. API-t biztosít az elemek megkereséséhez és azok végrehajtásához, például a szöveg beviteléhez a szövegmezőkbe, a gombokra kattintáshoz stb. Meglátjuk az egyes űrlapelemek eléréséhez rendelkezésre álló módszereket.

Ebben az oktatóanyagban megnézzük, hogyan lehet azonosítani a következő űrlapelemeket

  • Bevezetés a WebElementbe, findElement (), findElements ()
  • Input Box
  • Értékek bevitele a beviteli mezőbe
  • Értékek törlése a beviteli mezőkben
  • Gombok
  • Küldés gombok
  • Teljes kód
  • Hibaelhárítás

Bevezetés a WebElementbe, findElement (), findElements ()

A Selenium Web Driver egy egyszerű űrlapelemet foglal magában a WebElement objektumaként .

Különböző technikák léteznek, amelyekkel a WebDriver azonosítja az űrlap elemeket a web elemek különböző tulajdonságai alapján, például ID, név, osztály, XPath, címke neve, CSS választók, link szöveg stb.

A Web Driver a következő két WebElement módszert biztosítja az elemek megkereséséhez.

  • findElement () - egyetlen webelemet keres és WebElement Selenium objektumként tér vissza.
  • findElements () - a lokátor feltételeknek megfelelő WebElement objektumok listáját adja vissza.

Nézzük meg a kódrészleteket, hogy egyetlen elemet kapjon - egy szövegmezőt egy weboldalon, a WebElement objektumaként a findElement () módszerrel. Kitérünk a findElements () módszerre több elem megkeresésére a későbbi oktatóanyagokban.

1. lépés: Ezt a csomagot importálnunk kell a Web Elemek objektumainak létrehozásához

2. lépés: Meg kell hívnunk a WebDriver osztályon elérhető findElement () metódust, és be kell szereznünk egy WebElement objektumot.

Az alábbiakban olvashatja el, hogyan történik.

Input Box

A beviteli mezők a két típus egyikére utalnak:

  1. Szövegmezők - Szelén beviteli szövegdobozok, amelyek elfogadják a beírt értékeket, és olyanokként mutatják őket, amilyenek.
  2. Jelszómezők - olyan szövegdobozok, amelyek elfogadják a beírt értékeket, de speciális karakterek sorozataként (általában pontok és csillagok) maszkolják őket, hogy elkerüljék az érzékeny értékek megjelenítését.

Helymeghatározók

A findElement () metódus egy paramétert vesz fel, amely egy lokátor az elemhez. Különböző lokátorok, mint a By.id (), By.name (), By.xpath (), By.CSSSelector () stb., Az oldal elemeit olyan tulajdonságaik alapján keresik meg, mint "azonosító, név vagy útvonal," stb.

Használhat olyan pluginokat, mint a Fire path, hogy segítséget kapjon az elemek azonosítójának, xpath-jának stb. Megszerzéséhez.

Az alább megadott http://demo.guru99.com/test/login.html példa webhely használata az a kód, amellyel megkeresheti az "E-mail cím" szövegmezőt az azonosító és a "Jelszó" mezőben a névkereső segítségével.

  1. Az e-mail szövegmező azonosítója található
  2. A Jelszó mező név szerint található

szelén kulcsok

A Selenium sendkeys () egy módszer, amellyel szerkeszthető tartalmat lehet bevinni a szöveg- és jelszómezőkbe a teszt végrehajtása során. Ezeket a mezőket lokátorok, például név, osztály, azonosító stb. Segítségével azonosítják. Ez egy módszer, amely a webes elemen érhető el. A type metódussal ellentétben a sendkeys () metódus egyetlen szövegmezőben sem helyettesíti a meglévő szöveget.

Értékek bevitele a beviteli mezőbe

Szöveg beírásához a Szövegmezőkbe és a Jelszómezőkbe a sendKeys () az a módszer, amely a szelén WebElementjén elérhető.

A http://demo.guru99.com/test/login.html webhely ugyanazon példáján keresztül a következőképpen találjuk meg a Szöveg és a Jelszó mezőket, és hogyan írhatunk szöveget a Seleniumba.

  1. Keresse meg az "E-mail cím" szövegmezőt az azonosító segítségével.
  2. Keresse meg a "Jelszó" mezőt a névkereső használatával
  3. Írjon be szöveget az "E-mail cím" -be a Szelén küldőkulcs módszerrel.
  4. Írja be a jelszót a "Jelszó" mezőbe a sendKeys () módszerrel.

Értékek törlése a beviteli mezőkben

A clear () metódust használják a szöveg törlésére egy beviteli mezőben. Ehhez a módszerhez nincs szükség paraméterre . Az alábbi kódrészlet törli a szöveget az E-mail vagy a Jelszó mezőkből

Gombok

A Selenium click gombra a click () módszerrel lehet belépni.

A fenti példában

  1. Keresse meg a gombot a Bejelentkezés lehetőséghez
  2. Kattintson a "Bejelentkezés" gombra a webhely bejelentkezési oldalán a bejelentkezéshez.

Küldés gombok

A Küldés gombokkal a teljes űrlapot elküldheti a kiszolgálónak. Vagy használhatjuk a click () metódust a webes elemen, mint egy normál gombot, mint ahogy azt fentebb tettük, vagy használhatjuk a submit () metódust bármelyik webes elemre az űrlapon, vagy magában a beküldés gombra.

A submit () használatakor a WebDriver megkeresi a DOM-ot, hogy megtudja, melyik elemhez tartozik az elem, majd elindítja a beküldési függvényét.

Teljes kód

Itt van a teljes munkakód

import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium. *;nyilvános osztály űrlappublic static void main (String [] érvel) {// objektumok / változók deklarálása és példányosításaSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver illesztőprogram = new ChromeDriver ();Karaktersorozat baseUrl = "http://demo.guru99.com/test/login.html";driver.get (baseUrl);// Az e-mail címnek megfelelő WebElement (TextField) letöltéseWebElement email = driver.findElement (By.id ("e-mail"));// Szerezze be a Jelszó mezőnek megfelelő WebElement-etWebElement jelszó = driver.findElement (By.name ("passwd"));email.sendKeys (" Ez az e-mail cím védett a spam robotoktól, a megtekintéséhez engedélyezni kell a Javascriptet.");password.sendKeys ("abcdefghlkjl");System.out.println ("Szövegmező készlet");// Értékek törlése a szövegmezőbenemail.clear ();jelszó.clear ();System.out.println ("A szövegmező törölve");// Keresse meg a beküldés gombotWebElement bejelentkezés = driver.findElement (By.id ("SubmitLogin"));// Kattintási módszer használata az űrlap elküldéséhezemail.sendKeys (" Ez az e-mail cím védett a spam robotoktól, a megtekintéséhez engedélyezni kell a Javascriptet."); password.sendKeys ("abcdefghlkjl"); login.click (); System.out.println ("A bejelentkezés kész kattintással"); // a beküldési módszer használatával az űrlap elküldéséhez. Küldés a jelszó mezőben driver.get (baseUrl); driver.findElement (By.id ("email")). sendKeys (" Ez az e-mail cím védett a spam robotoktól. A megtekintéshez engedélyezni kell a Javascriptet."); driver.findElement (By.name ("passwd")). sendKeys ("abcdefghlkjl"); driver.findElement (By.id ("SubmitLogin")). submit (); System.out.println ("A bejelentkezés kész elküldéssel"); //driver.close (); }}

Hibaelhárítás

Ha az elemek keresése közben találkozik a NoSuchElementException () paranccsal, az azt jelenti, hogy az elem nem található meg az oldalon abban a pontban, amikor a webillesztõ elérte az oldalt.

  1. Ellenőrizze újra a helymeghatározót a Firepath vagy a Chrome elem elemével.
  2. Ellenőrizze, hogy a kódban használt érték eltér-e a Firepath elemhez tartozó értékétől.
  3. Egyes tulajdonságok kevés elem esetén dinamikusak. Abban az esetben, ha úgy találja, hogy az érték más és dinamikusan változik, fontolja meg a By.xpath () vagy a By.cssSelector () használatát, amelyek megbízhatóbbak, de összetettebbek.
  4. Előfordulhat, hogy ez egy várakozási kérdés is, azaz a web-illesztőprogram még az oldal teljes betöltése előtt végrehajtotta a kódot, stb.
  5. Adjon hozzá várakozást a findElement () előtt implicit vagy explicit várakozással.

Összegzés

  • Az alábbi táblázat összefoglalja a fent tárgyalt elemtípusok eléréséhez szükséges parancsokat
Elem Parancs Leírás
Input Box sendKeys () értékek bevitelére szolgál a szövegmezőkbe
egyértelmű() arra használják, hogy törölje a szövegdobozok aktuális értékét
Linkek kattintson () kattintson a linkre, és várja meg az oldal betöltését, mielőtt folytatja a következő parancsot.
Küldés gomb Beküldés()
  • A WebDriver lehetővé teszi több opció kiválasztását többszörös SELECT elemben.
  • Az űrlap bármely eleménél használhatja a submit () metódust. A WebDriver automatikusan elindítja az űrlap beküldési funkcióját, ahova az elem tartozik.