WebDriver拾级而上(11) – 在selenium2.0中使用selenium1.0的API

webdriversjes

Selenium2.0中使用WeDriver API对页面进行操作,它最大的优点是不需要安装一个selenium server就可以运行,但是对页面进行操作不如selenium1.0的Selenium RC API那么方便。

Selenium2.0提供了使用Selenium RC API的方法:

// 我用火狐浏览器作为例子
WebDriver driver = new FirefoxDriver(); 
String baseUrl ="http://www.google.com"; 
Selenium selenium = new WebDriverBackedSelenium(driver, baseUrl);

// 执行selenium命令
selenium.open("http://www.google.com");
selenium.type("name=q", "cheese");
selenium.click("name=btnG");

WebDriver driverInstance = ((WebDriverBackedSelenium)selenium).getUnderlyingWebDriver();
selenium.stop();

分别使用WebDriver API和SeleniumRC API写了一个Login的脚本,很明显,后者的操作更加简单明了。
(1)WebDriver API写的Login脚本:

public void login() {
	driver.switchTo().defaultContent();
	driver.switchTo().frame("mainFrame");

	WebElement eUsername= waitFindElement(By.id("username"));
	eUsername.sendKeys(manager@ericsson.com);

	WebElement ePassword= waitFindElement(By.id("password"));
	ePassword.sendKeys(manager);

	WebElementeLoginButton = waitFindElement(By.id("loginButton"));
	eLoginButton.click();
}


(2)SeleniumRC API写的Login脚本:

public void login() {
	selenium.selectFrame("relative=top");
	selenium.selectFrame("mainFrame");
	selenium.type("username","manager@ericsson.com");
	selenium.type("password","manager");
	selenium.click("loginButton");
}

[转自网络(如知原出处,请留言告知)]

发表评论

邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据