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.
分享到:
相关推荐
Selenium WebDriver 3 Practical Guide will walk you through the various APIs of Selenium WebDriver, which are used in automation tests, followed by a discussion of the various WebDriver implementations...
Selenium WebDriver Practical Guide will guide you through the various APIs of WebDriver which should be used in automation tests, followed by a discussion of the various WebDriver implementations ...
Forrester-2021_01-Introducing-The-Zero-Trust-Edge-Model
Introducing Bluetooth LE Audio book form Bluetooth SIG
introducing-java-8.pdf 不可多得的好书 你值得拥有
Introducing-Python-Modern-Computing-in-Simple-Packages.pdf
Introducing-Data-Science-Big-Data-Machine-Learning-and-more-using-Python-tools.pdf
MaskNet:Introducing+Feature-Wise+Multiplication+to+CTR+Ranking+Models+by+Instance-Guided+Mask
introducing_the_amba_coherent_hub_interface_102407_0100_01_en 关于设计一致性总线hub接口的描述 spec搬运工
LP introducing-hong-kong
Modular-Programming-with-Python-introducing-modular-techniques-for-building-sophisticated-programs-using-Python.pdf
2021.7.20_NeurIPS-2020-introducing-routing-uncertainty
Slide share: Flink-Forward-SF-2017_Eron-Wright_Introducing-Flink-TensorFlow
The Selenium WebDriver 3.x Technology is an open source API available to test both Browser and Mobile applications. It is completely platform independent in that tests built for one browser or mobile ...
My intent here is to provide a gentle introduction to some of the container classes definedbytheSTL Mypersonalexperienceisthatthepair thevectorandthemap are used more often than the other STL classes ...
You'll design and build a Selenium grid from scratch to enable the framework to scale and support different browsers, mobile devices, and platforms.You'll strategize and handle a rich web UI using the...
Discover the newest high-availability features in MySQL Set up and use InnoDB Cluster as an HA solution Migrate your existing servers to MySQL 8 Employ best practices for using InnoDB Cluster ...
书名:Introducing iOS 8 - Swift Programming from Idea to App Store 格式:PDF 出版日期: 2014年12月
Title: Cocos2d-x by Example: Beginner’s Guide, 2nd Edition Author: Roger Engelbert Length: 250 pages Edition: 1 Language: English Publisher: Packt Publishing Publication Date: 2015-04-30 ISBN-10: ...
This paper addresses this problem by introducing a self-tuning cost modeling approach based on the quadtree. The quadtree has the inherent desirable properties to (1) perform fast retrievals, (2) ...