发布于 2015-04-21 12:59:55 | 466 次阅读 | 评论: 0 | 来源: 网友投递
Selenium WEB自动化测试工具
Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。
Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。
1、Alert类
public void testAlert(){
WebElement element = driver.findElement(By.className("alert"));
element.click();
Alert alert = driver.switchTo().alert();
String text = alert.getText();
alert.accept();
//alert.dismiss();
System.out.println(text);
}
使用Actions类
public void testAlertByActions(){
WebElement element = driver.findElement(By.className("alert"));
Actions action = new Actions(driver);
action.click(element).perform();
Alert alert = driver.switchTo().alert();
String text = alert.getText();
alert.accept();
//alert.dismiss();
System.out.println(text);
}
2、Action类
public void testActions(){
WebElement element = driver.findElement(By.className("over"));
Actions action = new Actions(driver);
action.moveToElement(element).perform();
String text = driver.findElement(By.id("over")).getText();
System.out.println(text);
}
3、调用JS
public void testJS(){ JavascriptExecutor executor = (JavascriptExecutor)driver; executor.executeScript("alert(‘helloworld‘)"); }
4、Wait机制及实现
public void testWait(){
WebElement waitButton = driver.findElement(By.id("wait"));
waitButton.click();
boolean flag = new WebDriverWait(driver, 10).until
(
new ExpectedCondition<Boolean>()
{
public Boolean apply(WebDriver driver)
{
return driver.findElement(By.className("red")).isDisplayed();
}
}
);
if(flag){
String text = driver.findElement(By.className("red")).getText();
System.out.println(text);
}
}
5、Iframe操作
public void testIFrame(){
driver.findElement(By.id("user")).sendKeys("test");
driver.switchTo().frame("aa");
driver.findElement(By.id("user")).sendKeys("iframe test");
driver.switchTo().defaultContent();//返回顶层frame
driver.findElement(By.id("user")).sendKeys("---new test");
}
6、多窗口切换
public void testMultiWindow(){
driver.findElement(By.id("user")).sendKeys("test");
String handle = driver.getWindowHandle();//获取当前窗口的句柄
System.out.println(handle);
WebElement element = driver.findElement(By.className("open"));
element.click();
Set<String> handles = driver.getWindowHandles();
for(String s : handles)
{
if(!s.equals(handle))
{
System.out.println(s);
driver.switchTo().window(s);
driver.findElement(By.id("kw")).sendKeys("glen");
}
}
driver.switchTo().window(handle);
driver.findElement(By.id("user")).sendKeys("---new test");
}