• 第四次博客作业


    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;

        }

      }

    }

  • 相关阅读:
    epoll 实现回射服务器
    select函数的介绍和使用
    期末项目需求分析报告
    Spring AOP Capabilities and Goals
    Domain Logic approaches
    Lamda Expression
    CDI furture
    23种设计模式
    connector for python
    Spring reference
  • 原文地址:https://www.cnblogs.com/my-maple/p/5535961.html
Copyright © 2020-2023  润新知