[转载]Selenium2.0之WebDriver学习总结(3) 下载本文

内容发布更新时间 : 2024/4/28 0:08:31星期一 下面是文章的全部内容请认真阅读。

接下来将通过几个具体的例子来使用操作上述功能,以下代码都是通过junit框架编写。

例子1:该例子主要是登录网易相册,创建一个私人相册,并进入相册进行评论,然后删除这个相册。在这个例子中,可以找到各种方式定位元素方法的具体实例: package demo;

import java.util.concurrent.TimeUnit; import org.junit.*;

import org.openqa.selenium.*;

import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.ui.Select;

public class DemoElement1 {

private WebDriver driver; private String baseUrl;

@Before

public void setUp() throws Exception { driver= new FirefoxDriver(); baseUrl= \;

driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); }

@Test

public void test() throws Exception { //打开一个网址 driver.get(baseUrl); //输入用户名 //by css

driver.findElement(By.cssSelector(\)).clear();

driver.findElement(By.cssSelector(\)).sendKeys(\o\);

driver.findElement(By.cssSelector(\)).click(); //输入密码 //by name

driver.findElement(By.name(\)).clear();

driver.findElement(By.name(\)).sendKeys(\); //点击登录 //by id

driver.findElement(By.id(\)).click();

//获取页面title //by js

JavascriptExecutor js= (JavascriptExecutor) driver; String title= (String)js.executeScript(\); System.out.println(title); //点击 创建相册

//by linkText

driver.findElement(By.linkText(\创建相册\)).click(); //输入 相册名称 //by name

driver.findElement(By.name(\)).clear();

driver.findElement(By.name(\)).sendKeys(\); //选择私人相册 //by id

driver.findElements(By.name(\)).get(3).click(); //选择aaa分类 //by css

Select select = new

Select(driver.findElement(By.cssSelector(\))); //选择的三种不同实现 //select.selectByValue(\ //select.selectByIndex(1); select.selectByVisibleText(\); //点击 创建 两种方式 //by css

driver.findElement(By.cssSelector(\)).click(); //driver.findElement(By.cssSelector(\ Thread.sleep(5000); //输入评论

//因为评论框放在一个iframe中,所以要切换到iframe中,结束后将焦点切换回去

//by tagName

driver.switchTo().frame(driver.findElement(By.tagName(\))); driver.switchTo().activeElement().sendKeys(\评论内容!\); driver.switchTo().defaultContent(); //点击 发表 //by className

driver.findElement(By.className(\)).click(); //点击 返回 //by xpath

driver.findElement(By.xpath(\返回')]\)).click(); //鼠标hover到相册上(目前firefoxDriver的鼠标事件还是有缺陷的,运行这代码的时候请确保光标在浏览器内)

//by partialLinkText new

Actions(driver).moveToElement(driver.findElement(By.partialLinkText(\album\))).build().perform(); //点击 删除

//by linkText

driver.findElement(By.linkText(\删除\)).click(); //点击确认

driver.findElement(By.cssSelector(\)).click(); //退出登录 //by id

driver.findElement(By.id(\)).click(); //浏览器后退

driver.navigate().back(); } @After

public void tearDown() throws Exception { driver.quit(); } }

例子2:该主要是登录网易群相册上传修改个人头像。在这个例子中,可以找到如何通过上传空间进行上传操作: package demo; import java.io.File; import java.util.concurrent.TimeUnit; import org.junit.*; import org.openqa.selenium.*;