用Python實現Web自動化的測試 今天上網找見了一個能夠用Python控制IE的好模組:PAMIE。它可以用程式開啟一個IE視窗,用程式填寫裡面要提交的內容,可以自動認可,然後從提交後返回的結果中尋找程式執行的結果。這樣我們就可以用Python很容易的寫出Web自動化的測試的工具了^_^!官方首頁:http://pamie.sourceforge.net/
安裝PAMIE需要兩個模組:win32all,Ctypes,分別下載下來安裝即可。如果用的ActivePython可以不安裝win32all,ActivePython已經預設安裝了;如果用的是Python2.5以上版本也不用安裝Ctypes了,也預設安裝了。下面提供兩個國內的下載串連:http://down.turbozv.com/develop/python/webtest/ctypes-0.9.9.3.win32-py2.4.exe
http://down.turbozv.com/develop/python/webtest/pamie20.zip PAMIE不提供安裝程式,把必要的模組安裝成功後,把pamie20.zip解壓,把解壓後的檔案cPAMIE.py直接拷貝到PythonPath/lib下就可以調用了。
測試編寫如下測試代碼:
# -*- Coding:GB2312
import cPAMIE
ie = cPAMIE.PAMIE()
ie.navigate("http://www.dormforce.net/Blog/parvel/login.aspx")
ie.textBoxSet("tbUserName", "bt")
ie.textBoxSet("tbPassword", "he")
ie.buttonClick("btnLogin")
if (True == ie.findText(unicode("非法登入", "cp936"))):
print "login failed!"
else:
print "login ok!"
ie.quit()
運行程式可以看到PAMIE開啟一個新的IE視窗,填入帳號、密碼,然後提交,最後得到了結果。很簡單的代碼,稍作解釋:ie = cPAMIE.PAMIE() 產生一個IEie.navigate("http://www.dormforce.net/Blog/parvel/login.aspx")開啟登入介面ie.textBoxSet("tbUserName", "bt")ie.textBoxSet("tbPassword", "he")設定帳號、密碼ie.buttonClick("btnLogin")提交if (True == ie.findText(unicode("非法登入", "cp936"))):從返回結果中尋找是否有“非法登入”,由於要尋找漢字一定用unicode,不然會出錯的。 另外,PAMIE還有很多有用的函數,比如開啟串連,從表中提取資料等,詳細請參考其文檔。更多教程請參考:http://showmedo.com/videos/series?name=pythonMarchettiPamieSeries