Selenium自动化测试实践-01

    距离上次写博客(2018年04月01日发布了博客《QTP自动化测试实践-01》)大概过去了一个月的时间,这期间学完了Selenium自动化测试理论并做了一些练习,这期间的学习成果,在此记录一下~

    首先说明一下,以下针对的是ECShop购物网站进行的测试代码编写!


package study;


import static org.junit.Assert.*;


import java.util.NoSuchElementException;


import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.Select;


public class EcShop {


WebDriver driver;//定义浏览器


@Before
public void setUp() throws Exception {
System.setProperty("webdriver.chrome.driver","D:\\driver\\chromedriver.exe");//引入ChromeDriver
driver = new ChromeDriver();//启动Chrome浏览器
driver.get("http://localhost/upload/index.php");//打开ECShop首页
}


@After
public void tearDown() throws Exception {
driver.quit();//关闭浏览器
}


@Test
public void test1() throws InterruptedException {
//搜索框输入关键字a
driver.findElement(By.id("keyword")).sendKeys("a");
Thread.sleep(3000);
//点击搜索按钮
driver.findElement(By.name("imageField")).click();
Thread.sleep(3000);
//获取搜索结果中,数量
String n = driver.findElement(By.xpath(".//*[@id='pager']/span/b")).getText();
//断言数量n等于预期值0
assertEquals("0",n);
//获取搜索结果区域文本内容
String t = driver.findElement(By.className("f5")).getText();
//断言文本内容等于预期值“无法搜索到您要找的商品!”
assertEquals("无法搜索到您要找的商品!",t);


}
@Test
public void test2() throws InterruptedException {
//点击“您的购物车中有XXX链接”
driver.findElement(By.partialLinkText("您的购物车中有")).click();
Thread.sleep(3000);
//点击页面左上角的“ECShop”图片
driver.findElement(By.tagName("img")).click();
//断言当前页面标题是"ECSHOP演示站 - Powered by ECShop"
String title1 = driver.getTitle();
assertEquals("ECSHOP演示站 - Powered by ECShop",title1);
Thread.sleep(3000);
//定位登录按钮,并点击
driver.findElement(By.id("ECS_MEMBERZONE")).findElement(By.tagName("img")).click();
Thread.sleep(3000);
//搜索框输入关键字“X”
driver.findElement(By.id("keyword")).sendKeys("X");
driver.findElement(By.name("imageField")).click();
Thread.sleep(3000);
//点击第一个商品图片
driver.findElement(By.className("goodsItem")).findElement(By.tagName("img")).click();
Thread.sleep(3000);
//点击注册按钮
driver.findElement(By.xpath(".//*[@id='ECS_MEMBERZONE']/a[2]/img")).click();
Thread.sleep(3000);


}
@Test
public void test3() throws InterruptedException {
//点击登录
driver.findElement(By.id("ECS_MEMBERZONE")).findElement(By.tagName("img")).click();
Thread.sleep(3000);
//输入用户名
driver.findElement(By.className("inputBg")).sendKeys("lixinxin");
Thread.sleep(3000);
//输入密码
driver.findElement(By.name("password")).sendKeys("123456");
Thread.sleep(3000);
//点击“立即登录”
driver.findElement(By.name("submit")).click();
Thread.sleep(3000);
}

@Test
public void test4() throws InterruptedException {
//点击高级搜索按钮
driver.findElement(By.linkText("高级搜索")).click();
Thread.sleep(3000);
//勾选“搜索简介”复选框
driver.findElement(By.id("sc_ds")).click();
//定位分类下拉框
WebElement we = driver.findElement(By.id("select"));
Select swe = new Select(we);
swe.selectByVisibleText("手机");
Thread.sleep(3000);
//点击“立即搜索”按钮
driver.findElement(By.name("Submit")).click();
Thread.sleep(3000);


}
@Test
public void test5() throws InterruptedException {
//搜索框输入关键字“X”,点击搜索按钮
driver.findElement(By.id("keyword")).sendKeys("X");
driver.findElement(By.name("imageField")).click();
Thread.sleep(3000);
//点击第一个商品的名称
driver.findElement(By.linkText("IPhone ...")).click();
Thread.sleep(3000);
//判断购买数量文本框默认值等于1
assertEquals("1",driver.findElement(By.id("number")).getAttribute("value"));
Thread.sleep(3000);
//断言评论区域5赞被默认选择,1赞默认未被选中
assertTrue(driver.findElement(By.id("comment_rank5")).isSelected());
assertFalse(driver.findElement(By.id("comment_rank1")).isSelected());
}
@Test
public void test6() throws InterruptedException {
//点击登录
driver.findElement(By.id("ECS_MEMBERZONE")).findElement(By.tagName("img")).click();
Thread.sleep(3000);
//输入用户名
driver.findElement(By.className("inputBg")).sendKeys("lixinxin");
Thread.sleep(3000);
//输入密码
driver.findElement(By.name("password")).sendKeys("123456");
Thread.sleep(3000);
//点击“立即登录”
driver.findElement(By.name("submit")).click();
Thread.sleep(3000);
//点击“用户中心”
driver.findElement(By.xpath(".//*[@id='ECS_MEMBERZONE']/font/a[1]")).click();
Thread.sleep(3000);
//点击“用户信息”
driver.findElement(By.xpath("html/body/div[7]/div[1]/div/div/div/div/a[2]")).click();
Thread.sleep(3000);
//获取电子邮件地址
String e = driver.findElement(By.name("email")).getAttribute("value");
//搜索框中输入“X”
driver.findElement(By.name("keywords")).sendKeys("X");
//点击搜索按钮
driver.findElement(By.name("imageField")).click();
Thread.sleep(3000);
//点击商品名称进入商品详情页
driver.findElement(By.linkText("IPhone ...")).click();
Thread.sleep(3000);
//查看电子邮件地址默认值是e
assertEquals(e,driver.findElement(By.id("email")).getAttribute("value"));

}
@Test
public void test7() throws InterruptedException {
//断言图片左上角图片源文件包含“logo”字样
String src = driver.findElement(By.tagName("img")).getAttribute("src");
assertTrue(src.contains("logo"));
Thread.sleep(3000);
}
@Test
public void test8() throws InterruptedException {
//点击登录
driver.findElement(By.id("ECS_MEMBERZONE")).findElement(By.tagName("img")).click();
Thread.sleep(3000);
//输入用户名
driver.findElement(By.className("inputBg")).sendKeys("lixinxin");
Thread.sleep(3000);
//输入密码
driver.findElement(By.name("password")).sendKeys("123456");
Thread.sleep(3000);
//点击“立即登录”
driver.findElement(By.name("submit")).click();
Thread.sleep(3000);
//点击进入iPhone(1)页面
driver.findElement(By.linkText("IPhone (1)")).click();
Thread.sleep(3000);
driver.findElement(By.linkText("IPhone ...")).click();
Thread.sleep(3000);
//查看评论区域-评价等级,第1个到第4个按钮没有被选中,第5个按钮被选中
WebElement arr[] = new WebElement[4];
for(int i=0;i<=3;i++){
arr[i] = driver.findElements(By.name("comment_rank")).get(i);
assertFalse(arr[i].isSelected());
}
assertTrue(driver.findElement(By.id("comment_rank5")).isSelected());
//断言一个有五个等级
assertEquals(5,driver.findElements(By.name("comment_rank")).size());

}

@Test
public void test9() throws InterruptedException {
//搜索框输入“X”,点击搜索按钮
driver.findElement(By.id("keyword")).sendKeys("X");
driver.findElement(By.name("imageField")).click();
Thread.sleep(3000);
//断言搜索结果区域商品个数等于预期值1
   assertEquals(1,driver.findElements(By.className("goodsItem")).size());
   //断言第一个商品的图片出现
   assertTrue(isElementPresent(By.xpath(".//*[@id='compareForm']/div/div/div/a[1]/img")));
  
}
//导入Selenium IDE中isElementPresent方法
private Boolean isElementPresent(By by){
try {
driver.findElement(by);
return true;
}catch (NoSuchElementException e){
return false;
}
}



}

 


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值