selenium代码练习(Feed4NG例子)

package day4;

import java.util.concurrent.TimeUnit;

import org.databene.benerator.anno.Source;
import org.databene.feed4testng.FeedTest;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

public class WebDriverDemoFeed4Ng extends FeedTest{
WebDriver driver=null;

//登录
@Test
public void login(){
//打开浏览器
driver=new FirefoxDriver();
driver.manage().window().maximize();
//时间等等
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

//输入网址
driver.get("http://192.168.1.100/index.php?m=admin&c=public&a=login");

driver.findElement(By.name("username")).sendKeys("admin");
driver.findElement(By.name("userpass")).sendKeys("password");
driver.findElement(By.name("userverify")).sendKeys("1234");

driver.findElement(By.xpath("//input[@class='Btn']")).click();
//等待---这种等待对页面元素进行了检查----智能等待
(new WebDriverWait(driver,30)).until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver driver){
return driver.findElement(By.linkText("退出系统")).isDisplayed();
}
});

//断言
Assert.assertTrue(driver.findElement(By.linkText("欢迎您 admin")).isDisplayed());

}
@Test(dependsOnMethods={"login"},dataProvider="feeder")
@Source("data/data2.xls")//指定数据来源
public void addMember(String name,String phone,String sex,String birthday,String email,String qq){
driver.findElement(By.xpath("//a[text()='会员管理']")).click();
//点击添加会员
driver.findElement(By.xpath("//a[text()='添加会员']")).click();
//进入frame框架
driver.switchTo().frame("mainFrame");

//输入用户名
driver.findElement(By.name("username")).sendKeys(name);
//输入手机号
driver.findElement(By.name("mobile_phone")).sendKeys(phone);
//输入性别
if(sex.equals("男")){
driver.findElement(By.xpath("//input[@value='1']")).click();
}else if(sex.equals("女")){
driver.findElement(By.xpath("//input[@value='0']")).click();
}
//输入生日

driver.findElement(By.id("birthday")).sendKeys(birthday);

//输入邮箱
driver.findElement(By.name("email")).sendKeys(email);
//输入qq
driver.findElement(By.name("qq")).sendKeys(qq);

//提交
driver.findElement(By.xpath("//input[@value='提交']")).click();
//判断会员列表中是否存在想要的内容
// Assert.assertTrue(
// driver.findElement(By.xpath("//tr[td/div='fanbb']"))
// .isDisplayed());
Assert.assertTrue(
driver.findElement(By.xpath("//tr[td/div='"+name+"']"))
.isDisplayed());
//退出frame框架
driver.switchTo().defaultContent();


}
@Test(dependsOnMethods={"addMember"})
public void loginout(){
driver.findElement(By.linkText("退出系统")).click();
//判断
Assert.assertTrue(driver.findElement(By.name("username")).isDisplayed());
driver.close();
driver.quit();
}

// @DataProvider(name="dataDriven")
// public Object[][] generateData(){
// Object[][] ret=
// {
// {"byp","13738381234","男","1990-9-9","byp@qq.com","12365489"},
// {"zzz","15224567898","女","2000-1-1","zzz@qq.com","15482637"}
// };
// return ret;
// }
//
}

posted on 2017-06-10 20:27  Meteorbai  阅读(552)  评论(0编辑  收藏  举报

导航