• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introduction to Selenium Web Driver
 

Introduction to Selenium Web Driver

on

  • 13,275 views

Author: Maria Kokhanjuk

Author: Maria Kokhanjuk

Statistics

Views

Total Views
13,275
Views on SlideShare
13,226
Embed Views
49

Actions

Likes
15
Downloads
0
Comments
2

3 Embeds 49

http://www.slashdocs.com 44
http://www.docshut.com 3
http://www.docseek.net 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

12 of 2 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introduction to Selenium Web Driver Introduction to Selenium Web Driver Presentation Transcript

    • Introduction to Selenium Web DriverKokhanjuk Maria Test Lead2012 www.ExigenServices.com
    • Agenda•What is Selenium 2.0•Architecture of Selenium 2.0•Selenium 2.0 API: • Finding elements • Basic operations on elements • Moving between windows and frames • Explicit and Implicit Waits•Creating tests using Selenium 2.0 2 www.ExigenServices.com
    • What is Selenium?Selenium is a set of tools for cross-platform automated testingof web applications.Selenium supports: • IE, Firefox, Safari, Opera and other browsers • Windows, OS X, Linux, Solaris and other OS’s • C#, Java, Perl, PHP, Python, Ruby and other languages • Bromine, JUnit, NUnit, RSpec, TestNG, unittest 3 www.ExigenServices.com
    • Components of Selenium• Selenium IDE• Selenium Remote Control (RC)• Selenium Grid• Selenium 2.0 and WebDriver 4 www.ExigenServices.com
    • What is Selenium 2.0 ?Selenium 1.0 WebdriverIDESelenium RC mergeSelenium Grid Selenium Webdriver 2.0 5 www.ExigenServices.com
    • Selenium 1.0 Architecture Autotests HTTP(Java, PHP, Phyton, Selenium RC Ruby, C#, …) Browsers Web-application 6 www.ExigenServices.com
    • Selenium 2.0 ArchitectureAutotests Driver Browsers Web-application API to control the browser 7 www.ExigenServices.com
    • Advantages of Selenium 2.0• The development and connection of new drivers, adapted to the specific test environment• A more "advanced" API for writing tests• Events generated are the same as for manual testing• Work with invisible elements is not available 8 www.ExigenServices.com
    • Disadvantages of Selenium 2.0• Need to create own webdriver for each test environment• Only 4 programming languages are supported 9 www.ExigenServices.com
    • WebDriver’s DriversWebDriver•HtmlUnit Driver•Firefox Driver•Internet Explorer Driver•Chrome Driver•Opera Driver•iPhone Driver•Android Driver 10 www.ExigenServices.com
    • Selenium APIWebDriver – to control the browser WebDriver driver = new FirefoxDriver();WebElement – to work with the elements on the page WebElement element = driver.findElement(By.id(“id”)); 11 www.ExigenServices.com
    • WebDriver API void get(java.lang.String url) – open page void quit() – close browser WebDriver.TargetLocator switchTo() – switching between the popup-E, alert, windows WebElement findElement(By by) -– find element by locator List<WebElement> findElements(By by) – find elements by locator 12 www.ExigenServices.com
    • Selenium API: Find elements By.id("idOfObject") By.linkText("TextUsedInTheLink") By.partialLinkText("partOfThelink") By.tagName("theHTMLNodeType") By.className("cssClassOnTheElement") By.cssSelector("cssSelectorToTheElement") By.xpath("//Xpath/to/the/element") By.name("nameOfElement") 13 www.ExigenServices.com
    • Selenium API: Find elementsTools for finding elements:1. Firebug. Download firebug at http://getfirebug.com/2. Firefinder for Firebug 14 www.ExigenServices.com
    • Selenium API: Find elementshttp://www.w3.org/TR/2001/CR-css3-selectors-20011113/#selectors 15 www.ExigenServices.com
    • Selenium API: Basic operations on elements void click() void submit() String getValue() void sendKeys(keysToSend) void clear() String getElementName() String getAttribute(java.lang.String name) boolean toggle() 16 www.ExigenServices.com
    • Selenium API: WaitsImplicit WaitsExplicit Waits 17 www.ExigenServices.com
    • Working with windows Working with browser windows driver.getWindowHandles() driver.switchTo().window(windowName) Working with frames driver.switchTo().frame( "frameName" ); Working with alerts driver.switchTo().alert(); 18 www.ExigenServices.com
    • Create tests1. Java http://java.com/ru/download2. IDE3. Library Selenium WebDriver http://seleniumhq.org/download/4. Firebug 19 www.ExigenServices.com
    • Create testTest Case: Selenium is in the first line of request for rambler searchCondition: Browser is openSteps: 1. Enter “selenium webdriver” into search request 2. Press search buttonExpected result: The first line of request must be a link to the official Selenium website 20 www.ExigenServices.com
    • Create testpublic class Rambler { protected WebDriver driver; @Before public void setUp() throws Exception { System.out.println("tmp"); // driver = new FirefoxDriver(); driver = new InternetExplorerDriver(); driver.get("http://www.rambler.ru/"); } 21 www.ExigenServices.com
    • Create test@Test public void RamblerSearch() throws Exception { System.out.println(" TC: Selenium is in the first line of request for rambler search"); waitUntilDisplayed(By.cssSelector(Constants.txtRambler)); driver.findElement(By.cssSelector(Constants.txtRambler)).sendKeys("selenium webdriver"); driver.findElement(By.className("pointer")).click(); //wait first result waitUntilDisplayed(By.cssSelector("div[class=b-left-column__wrapper]")); assertTrue(driver.findElement(By.cssSelector("div[class=b-podmes_books b-podmes_top_1]")).getText().contains("Selenium - Web Browser Automation")); } 22 www.ExigenServices.com
    • Create testpublic class Constants { public static final String txtRambler = "input[class=r--hat-form-text-input]";} 23 www.ExigenServices.com
    • Create test@Test public void RamblerSearch() throws Exception { System.out.println(" TC: Selenium is in the first line of request for rambler search"); waitUntilDisplayed(By.cssSelector(Constants.txtRambler)); driver.findElement(By.cssSelector(Constants.txtRambler)).sendKeys("selenium webdriver"); driver.findElement(By.className("pointer")).click(); //wait first result waitUntilDisplayed(By.cssSelector("div[class=b-left-column__wrapper]"));assertTrue(driver.findElement(By.cssSelector("div[class=b-podmes_books b- podmes_top_1]")).getText().contains("Selenium - Web Browser Automation")); } 24 www.ExigenServices.com
    • Create testpublic void waitUntilDisplayed(final By locator) { ( new WebDriverWait(driver, 120)).until(new ExpectedCondition<Boolean>() { public Boolean apply(WebDriver d) { return d.findElement(locator).isDisplayed(); } }); } @After public void tearDown() throws Exception { //close browser driver.quit(); } 25 www.ExigenServices.com
    • Create test: result 26 www.ExigenServices.com
    • Create test: result 27 www.ExigenServices.com
    • Structure of the test1. Use Set UP () and tearDown()2. All tests should finish with assertion3. Elements’ locators should be defined in separateclass 28 www.ExigenServices.com
    • Useful links• http://seleniumhq.org/docs/• http://software-testing.ru/library/testing/functional- testing/1398-selenium-20• http://automated- testing.info/knowledgebase/avtomatizaciya- funkcionalnogo-testirovaniya/selenium• http://autotestgroup.com/ru/• http://www.w3.org/TR/2001/CR-css3-selectors- 20011113/#selectors• http://junit.org 30 www.ExigenServices.com
    • Questions Questions? 31 www.ExigenServices.com