*****多用戶登錄驗證*****
一、(常規想法)方法:工作量較大,做起來繁瑣
1、當用戶名和密碼相同時怎么區分兩者,使用冒號和括號來區分:
eg. (admin:123456)(123456:demo)(zhang:san);由此得出前面是括號后面是冒號的就是用戶名,前面是冒號后面是括號的就是密碼。
2、axure判斷原理:只要全局變量里面有固定格式的用戶名和密碼就可以使之與用戶輸入的用戶名和密碼進行匹配,從而進行判斷。就算輸入的用戶名是實際存在的前半截也會判斷用戶名不存在。嚴格區分了大小寫;
注:下面的方法有個bug:如果用戶名一致,密碼不一致,只要輸入的用戶名和密碼都是存在的也可以登錄(如:(admin:123)(admin:456),則登錄時只要用戶名admin,則輸入密碼123和456都能登陸成功)
3、判斷用戶名是否存在:編輯條件【變量值】--【不包含】---【值】---【fx】---【局部變量】--【獲取用戶名文本框的值n】,fx格式:[[n]]:
4、判斷密碼和用戶名是否一一對應:編輯條件【變量值】--【不包含】---【值】---【fx】---【局部變量】--【獲取用戶名文本框的值n,獲取密碼文本框的值p】,fx格式:([[n]]:[[p]])。
注意:函數的格式要跟全局變量里面設置好的一致才能判斷出來用戶名和密碼是否一一對應。
*****注冊界面的交互效果*****
1、當輸入已經注冊的用戶名,不填寫郵件,提示:
錯誤:該用戶名已被注冊,請再選擇一個
錯誤:請填寫電子郵件地址
2、輸入未被注冊過的用戶名,不輸入郵件時提示:
錯誤:請填寫電子郵件地址
3、電子郵件和用戶名都不填寫,提示:
錯誤:請填寫用戶名。
錯誤:請填寫電子郵件地址
注:1、提示框靠在一起時線條問題,可以去掉邊框以實現將兩者在視覺上做出連在 一起的感覺。
2、提示框有兩行提示信息的關鍵:
同一個動態面板中的兩組狀態:狀態1只有一行提示信息(tishi1),狀態2有兩行提示信息(tishi2),且高度比狀態1高(否則也放不下兩個文本輸入框!!)。
步驟:
1)提示框開始是隱藏的,當點擊【注冊】時才會顯示錯誤提示框,且整個表單向下拉動一定距離:
選中【注冊】--雙擊【鼠標點擊時】--【顯示tishi推動元件向下】--【設置面板狀態tishi為tishi2】(此時兩行錯誤提示信息不能完全顯示,原因是面板尺寸不夠)--【設置面板尺寸為合適的高度】或者不采用設置面板尺寸的方法,直接鼠標右鍵勾選【調整大小以適合內容】也可實現相同效果
注意:由于不同的情況,提示文本內容和提示框的高度不一樣,所以再每次顯示提示元件向下推動之前都需要將提示隱藏并拉起來。
如:隱藏tishi拉動元件向下之后再顯示tishi推動元件向下。否則所有提示框動作 聯合在一起就會拉不起來,與表單連在一起。
?
?
二、簡便方法(推薦)
?
1、由思維導圖得知顯示的提示有兩種情況:一條提示(狀態1);
兩條提示(狀態2);
關鍵:不管是一條提示還是2條提示,不管是哪種提示的可能,顯示的提示都是那六種組合起來的
?
2、首先將情況分為6種:
?
1)用戶名為空:提示1寫入:用戶名為空;提示2a寫入:用戶名為空
?
2)用戶名已注冊:提示1寫入:用戶名已注冊;提示2a寫入:用戶名已注冊
?
3)用戶名無效:提示1寫入:用戶名無效;提示2a寫入:用戶名無效
?
4)郵箱為空:提示1寫入:郵箱為空;提示2b寫入:郵箱為空
?
5)郵箱已注冊:提示1寫入:郵箱已注冊;提示2b寫入:郵箱已注冊
?
6)郵箱無效:提示1寫入:郵箱無效;提示2b寫入:郵箱無效
?
3、若寫入的提示只有一個,則顯示狀態1,有2個則顯示狀態2。
?
注意:在顯示動態面板之前要將其拉上去即隱藏。
?
4、執行完1~3步驟后,第一次驗證沒問題,但是第二次驗證又從上至下執行用例,
會出問題,所以需要在驗證之前就清空提示信息。即將提示1、提示2a和提示2b的文
本都設為空,且放在用例的最開頭。
?
5、當提示1和提示2a、提示2b都為空即用戶名和密碼都正確時跳轉到登錄界面。
6、完整用例詳情和順序如下圖所示:
?
?
?
****全局變量的思想來判斷用戶名和郵箱是否已注冊*****
1)全局變量設置:
(zhang:san:zhang@qq.com)(li:san:li@qq.com)(admin:123456:admin@qq.com)
(li:si:li@qq.com)
2)之前假設的用戶名為“1”的時候表示已注冊,則重寫編輯該用例的條件為:是
否包含全局變量里的用戶名:
if值于up包含"([[username]]:" (用戶名坐邊是括號,右邊是冒號)
username是局部變量(注)
3)之前假設的郵箱為“1”的時候表示已注冊,則重寫編輯該用例的條件為:是否
包含全局變量里的郵箱地址:
if值于up包含":[[email]])" (郵箱坐邊是冒號,右邊是括號)
email是局部變量(注)
4)這里的全局變量已經加上了郵箱地址,所以之前的登錄界面也需要稍作調整,否
則判斷將有誤。
注意:在添加多個用例時要注意用例之間的聯系(If or Elese If),如果沒有弄
清其間的聯系,會出 現結果和預想不一致。
?用例詳情如下: