+ All Categories
Home > Documents > Selenium - Praktická Část

Selenium - Praktická Část

Date post: 08-Sep-2015
Category:
Upload: vovox1
View: 243 times
Download: 0 times
Share this document with a friend
Description:
Selenium training - practical part (in Czech)
37
SELENIUM WEBDRIVER Praktická část
Transcript

Selenium webdriver

Selenium webdriverPraktick stOsnovaPedstaven nstroj IDE a WebDriverInstalace a konfiguraceDoporuen postupyPkazy WebDriverLoktory a XpathPraktick pkladSamostatn kolyPedstaven nstroj IDE a WebDRIVERSelenium IDEIntegrovan vvojov prostedPlugin do FirefoxuNahrvn, editace a debugovn testKompletn vvojov prostedUkldn v HTML a jinchAutomatick doplovn a identifikace elementPedstaven nstroj IDE a WebDRIVERSthnut IDEhttp://www.seleniumhq.org/download/

Ukzka prce s IDE

Pedstaven nstroj IDE a WebDRIVERSelenium WebDriverSoust Selenia 2.0Vytvoeno pro podporu dynamickch webovch strnekPodpora Javy, C#,...Narozdl od IDE podporuje i jin prohleeUmouje prce i s vce oknyINSTALACE A KONFIGURACEJava (JDK)http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Eclipse IDEhttp://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/lunasr2

Instalace a konfiguraceRestart PC

Selenium WebDriverhttp://docs.seleniumhq.org/download/

Mozilla Firefoxhttp://www.mozilla.cz/stahnout/firefox/

INSTALACE a KONFIGURACEKonfigurace EclipseVolba WorkspaceFile - New - Java Project - SeleniumSkoleniPravm tlatkem na jmno projektu - New - Package - automationPravm tlatkem na package - New - Class - FirstTestCase - zakrtnout public static void main...Instalace a konfiguracePravm tlatkem na jmno projektu - Properties - Java Build Path - Libraries - Add External JARs - zvolit Selenium soubory (Selenium-java-2.40.0.jar a obsah sloky libs)

Zkouka konfiguraceInstalace a konfiguraceWebDriver driver = new FirefoxDriver();driver.get("bis117.vse.cz");driver.findElement(By.id("btn_logon")).click();driver.findElement(By.xpath("//input[@type='submit']")).click();driver.quit();Doporuen postupyDodrovn jmennch konvenc jako v JavVolit statick indentifiktory prvkVolba parametr na zklad pedpokldanch zmnAnalza a tvorba manulnch testovacch ppadSelekce vhodnch test (redundance)Pkazy WebdriverPrce s prohleemNejzkladnj pkazy jsou oteven a zaven prohleeMnoho monch dalch pkaz

Inicializace prohleeWebDriver driver = new FirefoxDriver();Typick konvence Javy na inicializaciPkazy webdriverPkaz GETOtevr novou webovou strnku v prohleiParametr URL - pln webov adresadriver.get("http://www.google.com");

Pkazy WebdriverPkaz GET TITLEZskv titulek webov strnkydriver.getTitle();

Pkaz GET CURRENT URKZskv URL adresu souasn webov strnkydriver.getCurrentUrl();Pkazy WebdriverPkaz GET PAGE SOURCEZskv zdroj posledn naten strnkydriver.getPageSource();

Pkaz CLOSEZavr souasn okno prohleedriver.close();Pkazy WebdriverPkaz QUITZavr prohle a veker oteven oknadriver.quit();

Pkaz REFRESHAktualizuje strnky prohleedriver.navigate().refresh();Pkazy WEbdriverPkaz TONaviguje na specifickou strnkuParametr URLdriver.navigat().to("http://www.google.com");

Pkaz FORWARDFunguje jako tlatko vped v prohleidriver.navigate().forward();Pkazy WEBDRIVERPkaz BACKFunguje jako tlatko zpt v prohleidriver.navigate().back();Pkazy WEBDRIVERPrce s WebElementyPro prci s webovou strnkou jsou poteba webov prvkyNejdve je poteba identifikovat (pmo v instanci i WebElementu)Existuj pkazy Find Element a Find ElementsPKAZY WEBDRIVERFind Element vrac jen jeden objektFind Elements vrac list objektPro hledn prvk se uv loktor "By"V ppad nenaleznut prvku vrac NoSuchElementExceptionPkazy WebDriverBy IDVrac prvn objekt se zvolenm IDNejefektivnj a preferovan cesta k lokaci prvkZvisl na "inteligenci" vvoj webovch aplikacDynamick vs statick

WebElement element = driver.findElement(By.id("Hledej"));Pkazy WEbdriverBy NAMEDal z efektivnch cest k identifikaci prvkOpt zvisl na vvojch a volb statickch i dynamickch jmen

WebElement element = driver.findElement(By.name("Heslo"));

Pkazy WebdriverBy CLASS NAMEHled dle nzvu tdyProchz vechny tdy prvku

WebElement element = driver.findElement(By.className("text");Pkazy WEBDRIVERBy TAG NAMEHled dle nzvu znaky

Random text WebElement element = driver.findElement("By.tagName("td"));Pkazy webdriverBy LINK TEXTHled dle textu odkazu

vodn strnkaWebElement element = driver.findElement(By.linkText("vodn strnka"));Pkazy WEBDRIVERBy PARTIAL LINK TEXTHled na zklad sti textu odkazu

vodn strnkaWebElement element = driver.findElement(By.partialLinkText("vod"));

Pkazy WEbdriverPkazy k pepnan okenWebDriver piazuje ke kadmu oknu uniktn IDWindow handle - slou k identifikaci jednotlivch oken

Pkaz GETWINDOWHANDLEZsk Window handle souasnho oknaString handle = driver.getWindowHandle();Pkazy WEBDRIVERPkaz GETWINDOWHANDLESZsk Window hande vech souasnch okenSet handle=driver.getWindowHandles();Pkazy WEBDRIVERPkaz SWITCHTO WINDOWSlou k pepnn mezi okny

Pomoc jmna okna:driver.switchTo().window("jmenoOkna");

Pomoc Window handlefor (String handle : driver.getWindowHandles()) {driver.switchTo().window(handle);}Pkazy WEBDRIVERPkaz SWITCHTOSlou k pepnn mezi pojmenovanmi zlokamidriver.switchTo().frame("jmenoZalozky");

Podporuje tak pepnn do PopUp okenAlert alert = driver.switchTo().alert();Pot jsou podporovan metody accept, dismiss, readPkazy webdriverPkazy k eknEfektivnj ekn prohlee ne uvn Thread.sleep()

Pkaz IMPLICITLYWAITNastavuje ekn prohlee na naten prvk ped vyhozenm chybdriver.manage().timeouts().implictlyWait(10,TIMEUNIT.SECONDS);Pkazy WEBDRIVERPkaz FLUENTWAITekn s monost volby asu ekn, frekvence kontroly i ignorovn specifickch chyb

Wait wait = new FluentWait(driver).withTimeout(30, SECONDS).pollingEvery(5, SECONDS).ignoring(NoSuchElementException.class);Pkazy WEBDRIVERWebElement example = wait.until(new Function() {public WebElement apply(WebDriver driver) {return driver.findElement(By.id("example"));}});Pkazy WEBDRIVERPkaz EXPECTEDCONDITIONSekn po uritou dobu na naplnn podmnek

WebDriverWait wait = new WebDriverWait(driver, 10);WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("priklad")));Loktory a XPATHNejjednodu identifikace prvk je prozkoumnm prvkPravm tlatkem v okn prohlee a zvolit prozkoumat prvekZobraz se kd strnkyTam se d zvolit vhodn atribut, kter se pak pouije

Loktory a XPATHTam kde nesta jednoduch identifiktory se d pout XPATHXPATH neboli XML Path Language je PC jazyk na adresovn st XML dokumentuAbsolutn versus relativn cesta

/html/body/div[2]/div/div/footer/section[3]/div/ul/li[3]/a//body//footer/section[3]/div/ul/li[3]/aLoktory a xpathXPATH umouje tak identifikaci na zklad hledanho slova

Pokud tedy tester v, e v njakm atributu je urit slovo, kter jinde nen, me zvolit metodu contains//img[contains(@src,'Profile')]

Pop. pomoc hledanho textu//span[contains(text(), 'Pokracovat')]


Recommended