一、某公司網站的後臺管理有一個用戶註冊的功能須要測試,該測試爲黑盒測試,請用表格的方式給出該功能的測試用例(參考課本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.jsp)ui
用戶註冊的功能測試用例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>
密 碼:<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;
}
}
}