第四次博客做業

一、某公司網站的後臺管理有一個用戶註冊的功能須要測試,該測試爲黑盒測試,請用表格的方式給出該功能的測試用例(參考課本P107頁)。用戶註冊功能描述以下:java

(1)       管理員必須先登陸,方可進入網站後臺管理,進入後臺管理界面後能夠進行用戶註冊(假設用戶註冊的URL地址爲http://www.fengt.com/Admin/UserRegister.jsp)web

(2)       用戶註冊要求輸入用戶名、密碼、密碼確認、郵箱,這4項內容均不能爲空數據庫

(3)       用戶名要求6-10個字符,由字母和數字構成,且只能以字母開頭。用戶名是惟一的。瀏覽器

(4)       密碼至少6位,包含字母、數字和特殊符號(如: !  +  ~ 等)jsp

(5)       郵箱必須符合郵箱規則測試

(6)       違法以上任何一個要求都應該有相應的提示網站

(7)       註冊成功需提示「註冊成功,請您記住密碼」,並跳轉到用戶登陸頁面進行登陸(假設用戶登陸頁面爲http://www.fengt.com/Admin/Login.jspui

用戶註冊的功能測試用例spa

用例IDfirefox

****-**-**

用例名稱

用戶註冊

 

 

 

 

用例描述

用戶註冊  管理員的用戶名存在,密碼正確成功進入網站後臺管理,後臺管理頁面用戶欄選擇用戶註冊點擊進入註冊頁面,(地址跳轉到用戶註冊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;

    }

  }

}

相關文章
相關標籤/搜索