`
cocoIT
  • 浏览: 48881 次
  • 性别: Icon_minigender_1
  • 来自: 福建
文章分类
社区版块
存档分类
最新评论

Introducing the Selenium-WebDriver API by Example

 
阅读更多

WebDriver is a tool for automating web application testing, and in particularto verify that they work as expected. It aims to provide a friendly API that’seasy to explore and understand, easier to use than the Selenium-RC (1.0) API,which will help to make your tests easier toread and maintain. It’s not tied to any particular test framework, so it canbe used equally well in a unit testing or from a plain old “main” method.This section introduces WebDriver’s API and helps get you started becomingfamiliar with it. Start by setting up a WebDriver project if you haven’t already.This was described in the previous section,Setting Up a Selenium-WebDriver Project.

Once your project is set up, you can see that WebDriver acts just as any normal library:it is entirely self-contained, and you usually don’t need to remember to start anyadditional processes or run any installers before using it, as opposed to the proxy serverwith Selenium-RC.

Note: additional steps are required to use Chrome Driver, Opera Driver, Android Driverand iOS Driver

You’re now ready to write some code. An easy way to get started is thisexample, which searches for the term “Cheese” on Google and then outputs theresult page’s title to the console.

package org.openqa.selenium.example;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

public class Selenium2Example  {
    public static void main(String[] args) {
        // Create a new instance of the Firefox driver
        // Notice that the remainder of the code relies on the interface, 
        // not the implementation.
        WebDriver driver = new FirefoxDriver();

        // And now use this to visit Google
        driver.get("http://www.google.com");
        // Alternatively the same thing can be done like this
        // driver.navigate().to("http://www.google.com");

        // Find the text input element by its name
        WebElement element = driver.findElement(By.name("q"));

        // Enter something to search for
        element.sendKeys("Cheese!");

        // Now submit the form. WebDriver will find the form for us from the element
        element.submit();

        // Check the title of the page
        System.out.println("Page title is: " + driver.getTitle());
        
        // Google's search is rendered dynamically with JavaScript.
        // Wait for the page to load, timeout after 10 seconds
        (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
            public Boolean apply(WebDriver d) {
                return d.getTitle().toLowerCase().startsWith("cheese!");
            }
        });

        // Should see: "cheese! - Google Search"
        System.out.println("Page title is: " + driver.getTitle());
        
        //Close the browser
        driver.quit();
    }
}

In upcoming sections, you will learn more about how to use WebDriver for thingssuch as navigating forward and backward in your browser’s history, and how totest web sites that use frames and windows. We also provide a morethorough discussions and examples.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics