Razred robotov
Robot Class in Selenium se uporablja za avtomatizirano preskušanje implementacij platforme Java. Ustvari vhodne dogodke v domačih sistemih za avtomatizacijo preizkusov, predstavitve, ki se samodejno izvajajo in druge aplikacije, kjer uporabniki potrebujejo nadzor nad miško in tipkovnico. Razred robotov je enostavno izvajati in ga je mogoče enostavno integrirati z avtomatiziranim ogrodjem.
Zakaj Robot Class?
Robot Class se uporablja v programu Selenium, ker pri nekaterih testih avtomatizacije Selenium uporabniki potrebujejo nadzor nad tipkovnico ali miško za interakcijo z okni OS, kot so pojavna okna za prenos, pojavna okna za tiskanje itd. In izvorne aplikacije, kot so beležnica, kalkulator itd. Webdriver ne more obdelovati teh pojavnih oken / aplikacij, zato je bila v različici Java 1.3 uveden razred robotov, ki lahko obdeluje pojavna okna / aplikacije OS.
V tej vadnici boste izvedeli,
- Prednosti razreda Robot
- Dokumentacija o razredu robotov
- Razumevanje notranjih metod in uporabe razreda Robot
- Kako izvesti kodo razreda robota s testNG
- Slabe prednosti razreda robotov
Prednosti razreda Robot
- Robot Class lahko simulira dogodek tipkovnice in miške
- Robot Class lahko pomaga pri nalaganju / prenosu datotek, ko uporabljate spletni gonilnik selena
- Robot Class je enostavno integrirati s trenutnim avtomatizacijskim okvirom (ključna beseda, podatkovni pogon ali hibrid)
Kaj je dokumentacija o robotskem razredu?
Dokumentacija Robot razreda v Selen pomaga uporabnikom razumeti osnovne definicije, sintakso in uporabo vseh metod in funkcij, ki so na voljo v robota razreda v Java AWT paketu. Uporabniki si lahko dokumentacijo ogledajo na uradni spletni strani Oracle. Uporabniki lahko tudi sami ustvarijo dokumentacijo na svojem lokalnem računalniku.
Če želite ustvariti dokumentacijo na lokalni napravi, sledite spodnjim korakom -
Korak 1) Datoteko src.zip najdete v mapi JDK. Kopirajte src.zip in ga izvlecite v drugo mapo ali imenik (recimo D: ali E:)
Korak 2) Izvlecite mapo src in se pomaknite do (pot do mape src) / src / java / awt
Korak 3) Kopirajte trenutno lokacijo mape awt in odprite ukazni poziv.
Korak 4) V cmd spremenite svojo trenutno lokacijo v mapo awt in vnesite "javadoc * .java", kot je prikazano spodaj
Počakajte nekaj časa, da sistem obdela, ko bo končan, boste v mapi awt videli nekaj datotek HTML.
5. korak) Odprite index.html
Korak 6) Tukaj imate popolno dokumentacijo o paketu awt, v levi vrstici za krmarjenje kliknite hiperpovezavo 'Robot' (glejte 1, označeno na spodnji sliki).
Tu si lahko ogledate tudi vse metode in vmesnike razreda robotov (glejte 2, označeno na zgornji sliki).
Razumevanje notranjih metod in uporabe razreda Robot
Z robotskimi metodami lahko med avtomatizacijo brskalnika komunicirate z dogodki na tipkovnici / miški. Lahko se uporablja tudi AutoIT, vendar je njegova pomanjkljivost ta, da ustvari izvršljivo datoteko (exe), ki bo delovala samo v oknih, zato ni dobra možnost za uporabo.
Nekaj najpogostejših in najpopularnejših metod Robot Class med avtomatizacijo spleta:
- keyPress (): Primer: robot.keyPress (KeyEvent.VK_DOWN): Ta metoda s pritisnjeno puščično tipko na tipkovnici
- mousePress (): Primer : robot.mousePress (InputEvent.BUTTON3_DOWN_MASK): Ta metoda bo pritisnila desni klik miške.
- mouseMove (): Primer : robot.mouseMove (point.getX (), point.getY ()): To bo premaknilo kazalec miške na določene koordinate X in Y.
- keyRelease (): Primer: robot.keyRelease (KeyEvent.VK_DOWN): Ta metoda s tipko s puščico navzdol na tipkovnici
- mouseRelease (): Primer: robot.mouseRelease (InputEvent.BUTTON3_DOWN_MASK): Ta metoda sprosti desni klik miške
Vzorčna koda za avtomatizacijo pogostih primerov z uporabo Robot Class
- Vzemimo primer spletnega mesta http://spreadsheetpage.com/index.php/file/C35/P10/, kjer po kliku na spletni element ( .//a[@href=contains(text(),'yearly- calendar.xls '] ) prikaže se pojavno okno za prenos operacijskega sistema.
- Za to uporabimo razred Robot (z ustvarjanjem primerka Robot Class v vaši kodi recimo Robot robot = new Robot () ). Razred robotov, ki smo prisotni v paketu AWT JDK.
- Za pritisk puščične tipke na tipkovnici uporabimo ( robot.keyPress (KeyEvent.VK_DOWN))
- Pritisnite tipko TAB na tipkovnici (uporabljamo robot.keyPress (KeyEvent.VK_TAB))
- Za pritisk tipke Enter uporabimo ( robot.keyPress (KeyEvent.VK_ENTER)).
Tu je vzorčna koda
import java.awt.AWTException;uvoz java.awt.Robot;uvoz java.awt.event.KeyEvent;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.firefox.FirefoxDriver;razred Exercise1 {public static void main (String [] args) vrže AWTException, InterruptedException {Gonilnik WebDriver = novi FirefoxDriver ();driver.get ("http://spreadsheetpage.com/index.php/file/C35/P10/"); // URL vzorcadriver.findElement (By.xpath (".// a [@ href = vsebuje (besedilo (), 'yearly-calendar.xls')]")). click ();Robot robot = nov robot (); // Robot razred vrže izjemo AWTThread.sleep (2000); // Thread.sleep vrže InterruptedExceptionrobot.keyPress (KeyEvent.VK_DOWN); // pritisnite tipko s puščico navzdol na tipkovnici za navigacijo in izberite izbirni gumb ShraniThread.sleep (2000); // Sleep je bil uporabljen samo za predstavitev vsakega dogodka posebejrobot.keyPress (KeyEvent.VK_TAB);Thread.sleep (2000);robot.keyPress (KeyEvent.VK_TAB);Thread.sleep (2000);robot.keyPress (KeyEvent.VK_TAB);Thread.sleep (2000);robot.keyPress (KeyEvent.VK_ENTER);// pritisnite tipko Enter na tipkovnici, da izvedete zgoraj izbrano dejanje}}
Oglejte si ta video, da si ga ogledate v akciji
Kako izvesti kodo Robot Class z TestNG
Ker zdaj poznate osnovne metode Robotskega razreda, zato razumimo nekaj bolj zapletenih metod -
Recimo, da ne želite uporabljati metode klika za klikanje spletnega elementa.
V takih primerih lahko uporabite metodo mouseMove razreda Robot.
Korak 1) metoda mouseMove vzame koordinate x in y kot parametre, kot je robot.mouseMove (630, 420), kjer 630 označuje os x in 420 označuje os y. Ta metoda bo torej kazalec miške premaknila s trenutne lokacije na omenjeno presečišče x in y.
Korak 2) Nato moramo pritisniti gumb miške. Uporabimo lahko metodo mousePress kot robot.mousePress (InputEvent.BUTTON1_DOWN_MASK) .
Korak 3) Po pritisku je treba miško spustiti. Za sprostitev levega klika miške lahko uporabimo robot.mouseRelease (InputEvent.BUTTON1_DOWN_MASK ).
Zagon kode z uporabo testNG:
Zagon kode z uporabo Testng zahteva maven odvisnost testNG ali referenčne knjižnice datoteke TestNG jar.
TestNG odvisnost maven:
org.testng testng 6.1.1
Po dodajanju odvisnosti maven ali datoteke jar. Uvoziti morate testno opombo testNG. Ko je vse končano, samo z desno miškino tipko kliknite programsko kodo in kliknite Zaženi kot in nato TestNG
… In ugotovili boste, da se bo koda začela izvajati s testNG API.Tu je koda
import java.awt.AWTException;uvoz java.awt.Robot;uvoz java.awt.event.InputEvent;uvoz java.awt.event.KeyEvent;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.firefox.FirefoxDriver;import org.testng.annotations.Test;javni razred Excersise1 {@Testjavno izvajanje statične praznine () vrže InterruptedException, AWTException {Gonilnik WebDriver = novi FirefoxDriver ();driver.manage (). window (). maximize ();driver.get ("http://spreadsheetpage.com/index.php/file/C35/P10/"); // URL vzorcaRobot robot = nov robot ();robot.mouseMove (630, 420); // premik miške na določeno lokacijorobot.delay (1500); // zamuda je, da koda počaka na omenjene milisekunde pred izvajanjem naslednjega korakarobot.mousePress (InputEvent.BUTTON1_DOWN_MASK); // pritisnite levi klikrobot.mouseRelease (InputEvent.BUTTON1_DOWN_MASK); // spustimo levi klikrobot.delay (1500);robot.keyPress (KeyEvent.VK_DOWN); // pritisnite puščično tipko na tipkovnici, da izberete izbirni gumb ShraniThread.sleep (2000);robot.keyPress (KeyEvent.VK_ENTER);// pritisnite tipko Enter na tipkovnici, da izvedete zgoraj izbrano dejanje}}
Oglejte si ta video, da si ga ogledate v akciji
Slabosti razreda robotov
Spodaj je omenjenih nekaj pomanjkljivosti robotskega dela:
- Dogodek ključna beseda / miška deluje samo na trenutnem primerku Window. Recimo, da koda izvaja kateri koli dogodek razreda robota in se je med izvajanjem kode uporabnik premaknil na drug zaslon, potem se bo na tem zaslonu pojavil dogodek ključne besede / miške.
- Večina metod, kot je mouseMove, je odvisna od ločljivosti zaslona, zato obstaja verjetnost, da koda, ki deluje na enem računalniku, morda ne bo delovala na drugem.
Povzetek
Razred robotov v paketu AWT se uporablja za ustvarjanje dogodkov na tipkovnici / miški za interakcijo z okni OS in izvornimi aplikacijami.
Primarni namen Robota je podpirati selenov projekt avtomatiziranih testov, zgrajen na platformi Java
Ta članek prispeva Ramandeep Singh, ki je inženir za avtomatizacijo preskusov v vodilnem MNC.