第四次博客作业

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

****-**-**

用例名称

用户注册

用例描述

用户注册  管理员的用户名存在,密码正确成功进入网站后台管理,后台管理页面用户栏选择用户注册点击进入注册页面,(地址跳转到用户注册URL地址:http://www.fengt.com/Admin/UserRegister.jsp)。

注册页面信息包含页面背景显示,登录用户名、密码、确认密码、邮箱录入接口,输入数据后,点击注册,若注册成功则跳出提示“注册成功,请你记住密码”,并跳转到用户登录页面(地址跳转到用户登录页面为http://www.fengt.com/Admin/Login.jsp)。

用例入口

打开IE,在地址栏输入相应用户登录页面为http://www.fengt.com/Admin/Login.jsp,进入登录页面,登录管理员用户名,进入网站后台管理,点击进入用户注册页面。

测试用例ID

场景

测试步骤

预期结果

备注

TC1

管理员登录

进入用户登录页面

登录成功

 

TC2

网站后台管理—进入用户注册页面

选择用户栏点击用户注册(地址跳转到用户注册地址URL地址:http://www.fengt.com/Admin/UserRegister.jsp

成功进入用户注册页面,页面元素完整,显示与设计一致

 

TC3

用户名录入验证

输入一个已存在的用户名:test

跳出提示“该用户名已存在”

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

TC4

用户名容错性验证

输入:aaaaaaaaaaaaaaaabbbbb,

跳出提示” 输入长度超过规定范围”

TC5

密码验证

输入规范的用户名:konkon,输入密码:123456

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

 

TC6

密码确认—校验

输入有效用户名:konkon,第一次输入规范密码:

kon-13,确认密码:123456

跳出提示“输入的两次密码不一样,请重新输入”

 

TC7

邮箱输入验证

输入邮箱:123456。cn,

跳出提示“输入邮箱格式有误,请重新输入”

 

TC8

用户注册—输入有效性校验

用户名没有输,其他密码,确认密码,邮箱按规范输入,点击注册

重复3次(四项内容依次空白不输入)

跳出提示“用户名不能为空”

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

TC9

正确输入

用户名:konkon密码:kon-13;确认密码:kon-13;邮箱:123456@qq.com;点击注册

跳出提示“提示输入正确,注册成功”,并提示“注册成功,请记住密码”

 

TC10

注册成功

页面自动跳转

跳转进入登陆页面

 

利用Selenium2为Lab05项目中的登录功能实现功能自动化测试。

【注意】

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

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

在login.jsp上表单上的用户,密码,登录添加id:

用户名:<input id="user" type="text" name="username"><br><br>

           密&nbsp;码:<input id="pwd" type="password" name="password"><br><br>

           <input id="log" type="submit" value="登录">

 打开火狐浏览器,在火狐浏览器上安装SeleniumIDE,并录制,输入用户登录界面,并进行用户密码输入登录操作,回放录制的步骤,将脚本转换成Java代码,放入Lab05项目类上,加上火狐安装路径System.setProperty("webdriver.firefox.bin", "F:\大三下\软件测试\firefox\firefox.exe");进行运行:

登录成功测试代码:

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 Sucess {

  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", "F:\大三下\软件测试\firefox\firefox.exe");

    driver = new FirefoxDriver();

    baseUrl = "http://localhost:8080/";

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

  }

 

  @Test

  public void testUntitled() throws Exception {

    driver.get(baseUrl + "/jsp_jdbc/login.jsp");

    driver.findElement(By.id("user")).clear();

    driver.findElement(By.id("user")).sendKeys("admin");

    driver.findElement(By.id("pwd")).clear();

    driver.findElement(By.id("pwd")).sendKeys("admin");

    driver.findElement(By.id("log")).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;

    }

  }

}

原文地址:https://www.cnblogs.com/my-maple/p/5535961.html