登錄界面的腳本測試
① 自動化測試腳本需要經過測試驗證嗎
1、測試類型可以包括:白盒測試、黑盒測試(功能測試、性能測試)等。2、不同的測試類型使用的自動化測試方法不同,白盒測試主要針對代碼級的單元測試、黑盒測試主要面對功能級和系統級的驗證測試。3、自動化測試,針對白盒測試,一般需要有一定的編程基礎,即能夠基於功能代碼寫測試代碼,常用的單元測試方面的自動化測試工具很多,上網一搜全是。4、自動化測試,針對功能測試,有幾種情況,基於CLI、API和GUI的測試;基於CLI、API的測試,即應用腳本技術向設備模擬發送CLI命令或者API請求,以達到控制設備的效果。基於GUI功能測試,即應用傳統的界面自動化測試工具(例如:RFT、QTP等)控制界面控制項操作的方法,以達到模擬用戶操作,這幾種方式都需要你有一定的編碼基礎;基於CLI、API的需要你懂腳本技術(例如:tcl、python、ruby等),RFT需要你懂java或者.net、QTP需要VB等。
② 怎麼用python對qq登錄界面寫測試腳本
1. 用Python封裝被測試介面,對於HTTP介面我們通常會採用 GET和POST 2種調用方式去訪問,所以必須把這2種方式都封裝進去
# -*- coding:gb2312 -*-
import urllib2,urllib
'''
函數說明:url 特殊字元編碼轉換
作者:xiaonan
輸入參數:待轉換的字元串數據
輸出參數:轉換完成後的字元串數據
'''
def urlcode(data):
return urllib2.quote(str(data))
'''
函數說明:獲取用戶信息的API介面
作者:xiaonan
輸入參數:用戶名(uname),HTTP介面調用方式(GET或者POST)
輸出參數:HTTP介面調用返回數據
'''
def GetUserInfo(uname,method):
if method == 'GET':
url = 'http://ip:port/interface/GetUserInfo.php?uname='+urlcode(uname)
result = urllib2.urlopen(url).read()
return result
if method == 'POST':
url = 'http://ip:port/interface/GetUserInfo.php'
values = {'uname' : uname}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
result = response.read()
return result
2. 編寫、組織測試腳本, 准備測試數據
根據Testcase的具體業務邏輯用事先准備好的測試數據去調用封裝好的API介面,驗證實際返回結果是否與預期返回結果一致.
測試數據可以以各種形式存放,如Excel數據表:
TestCaseName uname method Expected Result
TestCase1 aaaa GET ....
TestCase2 aaaa POST ....
TestCase3 bbbb GET ....
... ... ... ....
# -*- coding:gb2312 -*-
import xlrd
'''
函數說明: Testcase 腳本
作者:xiaonan
輸入參數:測試數據,API介面
輸出參數:測試日誌,測試報告
'''
def GetUser():
bk = xlrd.open_workbook(excel文件名稱) # 打開excel文件
sh = bk.sheet_by_name(excel表名)# 打開excel表
nrows = sh.nrows # 獲取總行數
for i in range(1,nrows):
TestCase = sh.cell_value(i,0)
uname = sh.cell_value(i,1)
method = sh.cell_value(i,2)
EX_Result=sh.cell_value(i,3)
WriterLog('Testcase Name:'+TestCase+'TestData: uname = '+uname+' ,method = '+method+' ,EX_Result = ' + ,EX_Result) # 寫測試日誌
AC_result = GetUserInfo(uname,method) # 調用API介面
WriterLog('AC_result = ' + AC_result) # 寫測試日誌
if EX_Result == AC_result: #實際結果與預期結果對比
WriterLog(...) #寫測試日誌
WriterReport(...)#寫測試報告
else
WriterLog(...)#寫測試日誌
WriterReport(...)#寫測試報告
3. 組織測試套,用驅動文件去調用執行所有測試套件,完成相關測試,並生成測試日誌及測試報告.
# -*- coding:gb2312 -*-
'''
函數說明: Testsuit Driver驅動腳本
作者:xiaonan
輸入參數:TestCase 腳本
輸出參數:測試日誌,測試報告
'''
if __name__ == '__main__':
...
WriterLog() #寫測試日誌
GetUser() # TestCase 腳本
...
...
Report(....) # 統計匯總所有測試報告數據,以文件或頁面形式呈現.
4. 執行測試腳本,分析測試結果. 根據測試報告,如果有Bug則提交.
③ 軟體測試題目,兩個登錄界面的測試。說出界面的優缺點和測試思路
第一個介面比較好,功能齊全,注冊、忘記密碼、登陸方式都有。用起來肯定最方便。
但是如果要用戶最直觀的想直來你這個軟體的 賬號 是什麼,應該在賬號欄位顯示你們賬號的格式,滑鼠點進去的時候,這樣的格式自動消失,會更人性化一點;
第二個畫面,看直來像是網頁上操作的,用戶名+密碼輸入框做的像個按鈕,比較突出,給人第一感覺 就是不太好選擇&操作。再看登陸按鈕,雖然有倒影設計,但立體感不強,視覺沖擊力不強,看起來就像個圖片在那裡。
再來就是找回密碼、記住密碼、注冊新賬號等功能都沒了了...操作不方便。
所以,一般用戶會選第一個。
④ 打開電腦總是彈出「當前頁面的腳本發生錯誤。代碼0」
彈出「當前頁面的腳本發生錯誤,代碼0」,可能關鍵系統組件出現異常導致,解決方法如下。
1、首先打開IIE瀏覽器,點擊上面的工具,依次點「Internet 選項」。
⑤ 假如給你一個登陸界面,有能夠記住用戶名密碼復選框的,你怎麼設計測試用例
1、測試密碼、用戶名是否輸入正常;
2、測試密碼、用戶名輸入異常時;
3、測試點下「記住」時是否記住密碼與用戶名,假如只記下密碼或者用戶名又將怎樣;
4、測試點下「不記住」又記下沒,假如記下又怎樣;
5、測試點下「記住」,當有多個用戶名需要記下時是否正常;
6、測試如何刪除已記下的用戶名和密碼,刪除是否真正刪除,刪除引起其他異常是什麼;
……
⑥ 求自動化測試用戶登錄頁面的腳本和case
登錄頁面不用用例,你只要能登錄進去就可以了,你要注意自動化測試和手工測試有所不同不是每條手工用例都要抓換成自動化用例,登錄只是個流程,不重要
⑦ 登錄界麵包含以下信息,在編寫測試用例的時候需要考慮哪些情況呢用戶名、密碼、驗證碼、語言切換
編寫測試用例,要看需求。一般登錄頁面要檢查的測試點如下。
1用戶名為空
2用戶名長度過短(長度小於需求)
3用戶名長度過長(長度大於需求)
4用戶名長度邊界值測試
5用戶名字母、數字、漢字、特殊字元的輸入。
6密碼為空
7密碼長度過短(長度小於需求)
8密碼長度過長(長度大於需求)
9密碼長度邊界值測試
10密碼 字母、數字、漢字、特殊字元的輸入。
11重復密碼的(6-11)的測試點
12重復密碼長度小於密碼長度
13重復密碼長度大於密碼長度
14重復密碼長度等於密碼長度,但是密碼內容不同
15密碼與重復密碼長度相同
16輸入正確驗證碼
17輸入錯誤驗證碼
以上測試點僅供參考。具體按需求文檔規定。測試用例根據測試點編寫
⑧ 如何用java模擬網頁登入提交
我不得不使用好幾個系統,都是B/S結構的,每次登錄都需要輸入用戶名和密碼,覺得非常麻煩,考慮到其他同事也會有這樣的需求,不妨就寫個自動登錄的程序吧。之前,也考慮過使用單點登錄,幾經嘗試之後還是放棄了。
我習慣使用Java,本能地開始尋找Java的解決方法,在Google中輸入「Java自動登錄」、「Java網頁模擬登錄」、「Java Post 登錄」,結果倒是不少,內容也差不多,我嘗試很多次終究也沒有達到我預期的目標。後來,我都不知道這些代碼應該在jsp頁面中執行還是在c/s結構的程序中執行。但這些代碼確實管用。
我們先分析一下代碼,
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.net.*" %>
String surl = "http://192.168.0.1:8888/oa/login.jsp";
URL url = new URL(surl);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter out=new OutputStreamWriter(conn.getOutputStream());
String str = "username=yourname&password=123456";
out.write(str);
out.flush();
out.close();
到這里,如果在C/S結構中,且參數正確,程序能夠成功登錄到這個oa系統,要看到結果,你可以通過下面的代碼將系統伺服器返回的結果System.out.println()出來。
String sling = "";
String scontent = "";
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
while ((sling = in.readLine()) != null)
scontent += in + "\r\n";
System.out.println(scontent);
在C/S結構下,可以到得到控制台輸出了返回值,從返回內容里可以看出程序已經成功登錄,但要是把這個網址瀏覽器打開,還是得重新登錄,問題沒有得到根本解決。如果只是惡意注冊,到這里應該就達到目的了。
看樣子C/S結構下不容易實現網頁程序自動登錄,除非你在C/S程序中內嵌一個瀏覽器,直接在這個瀏覽器中自動訪問系統,應該沒有別的方法,主要問題在於我們沒有辦法共享Session。
為了便於共享Session,我們只能在瀏覽器中實現網頁自動登錄,通過上面的代碼在jsp頁面中測試,達不到預期目標。
網頁自動登錄,就是希望程序自動填充用戶名和密碼,然後以Post方式提交給登錄頁面的Form所指向的action頁面或方法。我將系統的登錄頁面的源代碼保存成一個網頁,然後在username和password文本框中設置默認值,然後通過這網頁登錄系統,測試後,發現可行。接下來,你可能已經想到了解決方法。
我們可以通過url.openConnection()建立連接,將返回的scontent列印出來,然後接著列印以下代碼:
out.println("<script type="text/javascript">\r\n");
out.println("document.getElementsByName("username")[0].value=yourname;\r\n");
out.println("document.getElementsByName("password")[0].value=123456;\r\n");
out.println("document.forms[0].submit();\r\n");
out.println("</script>\r\n");
原理很簡單,通過login.jsp將登錄頁面的全部源代碼寫在當前頁面,然後使用javascript腳本將用戶名和密碼的值填充上,最後提交表單。這樣中,終於實現了自動登錄的目標。現在我通過一個特殊的網址,例如http://192.168.0.1/login.jsp?url=,就可以自動訪問這個oa了。
你可能注意到參數url,他的值是經過加密的,內容是用戶名和密碼。當然,你也可以加上有效期,即在有效期內這個鏈接才是有效的,才可以實現自動登錄。
⑨ 假如給你一個登陸界面怎麼測,詳細點的,要有等價類、邊界值等黑盒方法測試,設計用例有哪些
概括了8個方面,這些都是要重點考慮的:
1. 正確的用戶名和密碼,包括是合法的字元和合法長度
2. 錯誤的用戶名,包括用戶名含有非法字元、長度過長、長度過短
3. 正確的用戶名和錯誤的密碼,包括非法字元、長度過長或過短
4. 用戶名和密碼都為空
5. 正確的用戶名,密碼為空
6. 任意的用戶名和密碼,包括正確的或錯誤的,也可以為空
7. 檢查UI友好性
檢查登錄界面設計是否合理,符合UI規范標准
界面符合習慣、美觀,按鈕對齊,輸入框對齊,無錯別字,字體大小協調,文字描述准確
8. 檢查安全性(SQL注入等)
⑩ selenium 自動化測試登錄,登錄頁面有一個隨機圖片,應該怎麼處理
隨機圖片其實就是驗證碼問題,
目前測試環境解決驗證碼問題主要有幾種:
OCR技術:通過識別圖片來破解驗證碼。但識別率不高,若圖片只是純粹字母和數字組成的還好,中文或者圖形等則基本抓瞎.
使用萬能驗證碼,這種方法就是在判斷驗證的時候,如果遇到前台輸入的是萬能驗證碼,那就不要做驗證碼校驗直接通過。
特定用戶跳過驗證碼,這種方法就是如果遇到指定用戶登錄,那麼不管輸入什麼驗證碼,驗證碼校驗都通過。
使用hidden控制項在頁面上顯示驗證碼,就是在使用驗證碼的頁面上,加入一個隱藏的控制項,該控制項的內容就是驗證碼。雖然用戶看不到但是自動化測試工具可以找到該控制項,並獲得驗證碼。當然隱藏控制項中的驗證碼也可以使用加密的方法,自動化測試腳本得到加密的驗證後,可以通過解密操作解密驗證碼。
上述的方法都需要開發對代碼進行一定的修改,最好不要在生產環境上做,不然會造成安全漏洞。