实验四

1、某公司网站的后台管理有一个用户注册的功能需要测试,该测试为黑盒测试,请用表格的方式给出该功能的测试用例(参考课本P107页)。用户注册功能描述如下:

1       管理员必须先登录,方可进入网站后台管理,进入后台管理界面后可以进行用户注册(假设用户注册的URL地址为http://www.fengt.com/Admin/UserRegister.jsp

2       用户注册要求输入用户名、密码、密码确认、邮箱,这4项内容均不能为空

3       用户名要求6-10个字符,由字母和数字构成,且只能以字母开头。用户名是唯一的。

4       密码至少6位,包含字母、数字和特殊符号(如: !  +  ~ 等)

5       邮箱必须符合邮箱规则

6       违法以上任何一个要求都应该有相应的提示

7       注册成功需提示注册成功,请您记住密码,并跳转到用户登录页面进行登录(假设用户登录页面为http://www.fengt.com/Admin/Login.jsp

测试用例ID

场景

测试步骤

测试结果

TC1

管理员登录

打开登录界面以管理员身份进入

进入后台管理界面

TC2

初始界面显示

从用例入口处进入

页面元素完整

TC3

注册用户

在后台管理界面进行用户注册,进行用户名,密码,密码确认,邮箱等操作

进入用户注册页面

TC4

用户名输入—空值验证

没输入用户名

注册失败,提示:用户名不能为空

TC5

用户名输入—格式验证

输入用户名123

注册失败,提示:用户名要求6-10个字符,由字母和数字构成,且只能以字母开头

TC6

用户名输入

输入用户名abc123

注册成功。

TC7

用户名输入—验证用户名重复

输入用户名abc123

注册失败,提示:用户已存在。

TC8

密码输入—空值验证

没输入密码

输入失败,提示:密码不能为空。

TC9

密码输入—格式验证

输入密码123

输入失败,提示:密码至少6位,包含字母、数字和特殊符号(如: !  +  ~ 等)

TC10

密码输入

输入密码12345。。

输入成功

TC11

邮箱输入

输入邮箱1213651253@qq.com

输入成功,提示:注册成功,请您记住密码

TC12

跳转登录页面

登录界面

用户登录页面为http://www.fengt

.com/Admin/Login.jsp

 

 

2、利用Selenium2Lab05项目中的登录功能实现功能自动化测试。

【注意】

l         设计测试用例时需考虑登录成功和不成功两种情况;

l         Lab05项目为实验5用到的项目,在大家的班级QQ群中,数据库采用MySQL,数据库文件在项目根目录下CreateDataBase.txt

(1)ECLIPSE开始到浏览器

package com.whj.test;

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.WebDriverWait;


public class Test1 {

@Test
public void Test(){

       //如果浏览器没有默认安装在C盘,需要制定其路径
       System.setProperty("webdriver.firefox.bin", "E:\\Program Files\\Mozilla           Firefox\\firefox.exe");

//打开火狐浏览器
WebDriver driver = new FirefoxDriver();
//如果做页面测试,建议用HttpUnitDriver,这种方式打开浏览器,而是在内存中运行,速度比较快
//WebDriver driver = new HtmlUnitDriver();

//打开要测试的页面
driver.get("http://www.baidu.com/");
System.out.println("打开链接——>");

//设置等待超出的时间(100秒)

WebDriverWait wait = new WebDriverWait(driver, 100);

//找到页面元素,此处是搜索输入框
WebElement txtSearchBox = driver.findElement(By.name("wd"));
//设置页面元素的值,即往输入框中输入值
txtSearchBox.sendKeys("selenium2");
//找到搜索按钮,并点击它
WebElement btn = driver.findElement(By.id("su"));
btn.click();

//关闭浏览器
//driver.close();
}

}

2)先录制,再转成JAVA代码

package com.whj.test;

import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class Test2 {
private WebDriver driver;
private String baseUrl;
private boolean acceptNextAlert = true;
private StringBuffer verificationErrors = new StringBuffer();

@Before
public void setUp() throws Exception {
System.setProperty("webdriver.firefox.bin", "E:\\Program Files\\Mozilla Firefox\\firefox.exe");
driver = new FirefoxDriver();
baseUrl = "https://www.baidu.com/";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}

@Test
public void testUntitled() throws Exception {
driver.get(baseUrl + "/");
driver.findElement(By.id("kw")).click();
driver.findElement(By.id("kw")).click();
driver.findElement(By.id("kw")).click();
driver.findElement(By.id("kw")).clear();
driver.findElement(By.id("kw")).sendKeys("seleniumIDE");
driver.findElement(By.id("su")).click();
driver.findElement(By.id("kw")).click();
}

@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}

private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}

private boolean isAlertPresent() {
try {
driver.switchTo().alert();
return true;
} catch (NoAlertPresentException e) {
return false;
}
}

private String closeAlertAndGetItsText() {
try {
Alert alert = driver.switchTo().alert();
String alertText = alert.getText();
if (acceptNextAlert) {
alert.accept();
} else {
alert.dismiss();
}
return alertText;
} finally {
acceptNextAlert = true;
}
}
}

 

posted @ 2016-05-28 20:14  小吴229  阅读(112)  评论(0编辑  收藏  举报