Python語言是一種面向對象的用途廣泛的變成語言,語法清晰,可以完成許多任務,由于海量的第三方庫的存在,實現的功能非常多也非常的容易。
Python是一種動態的腳本語言,學習成本大大低于Java等編程語言,因此對于我們測試人員來說,如果需要掌握一門語言,當然Python是最好的選擇;
Python豐富的第三方庫,幾乎想要的功能,都能找到對應的庫,而我們應用這些庫的時候,只考慮怎么去使用這些庫提供的API而不用考慮怎么去實現,極少出現需要二次開發的情況;
Python開發效率很高,同樣的任務大約是java的10倍,C/C++的10-20倍,當然這個統計來源于一些編程人員的感受,并不是精確的數值,但是也可以看出其開發效率之高。我們測試人員一般都會主要以手工測試為主,因此不可能全職來運用某種語言實現,因此肯定需要選擇效率高的,人生苦短,我用Python;
Python支持多種系統,linux、mac上都默認安裝了Python,windows更不用說,當我們測試需要在各種平臺運行腳本的時候,幾乎不用考慮跨平臺。
那如果我們學會了Python,哪些方面可以應用Python來輔助我們的測試呢?顯而易見并應用最廣泛的當屬自動化測試了。
Python+Selenium實現web端的UI自動化:
Selenium是一個用于Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7,8,9,10,11),MozillaFirefox,Safari,GoogleChrome,Opera等。這個工具的主要功能包括:測試與瀏覽器的兼容性——測試你的應用程序看是否能夠很好得工作在不同瀏覽器和操作系統之上。測試系統功能——創建回歸測試檢驗軟件功能和用戶需求。
Python與Selenium結合能夠很好的實現web端的UI級別的自動化。Selenium幾乎能解決目前遇到的web頁面中所有的定位難題,當然有些特殊的可以借助JavaScripts也可以實現。
Python+Requests實現接口測試:
進入pythonrequests官網看到的的第一句話是:
Requests唯一的一個非轉基因的PythonHTTP庫,人類可以安全享用。
通過requests庫提供的各種API可以非常方便的模擬HTTP請求,實現接口自動化測試。
Python+Appium實現app自動化測試:
Appium是一個自動化測試開源工具,支持iOS平臺和Android平臺上的原生應用,web應用和混合應用。
所謂的移動原生應用是指那些用iOS或者AndroidSDK寫的應用。所謂的移動web應用是指使用移動瀏覽器訪問的應用(Appium支持iOS上的Safari和Android上的Chrome)。所謂的“混合應用”是指原生代碼封裝網頁視圖——原生代碼和web內容交互。比如,像Phonegap,可以幫助開發者使用網頁技術開發應用,然后用原生代碼封裝,這些就是混合應用。
重要的是,Appium是一個跨平臺的工具:它允許測試人員在不同的平臺(iOS,Android)使用同一套API來寫自動化測試腳本,這樣大大增加了iOS和Android測試套件間代碼的復用性。
Appium也是多語言支持,當然也是支持python的,運用python+Appium可以實現跨平臺的appUI自動化測試。
Python編寫工具輔助測試:
Python提供了多個圖形開發界面的庫,幾個常用PythonGUI庫如下:
Tkinter:
Tkinter模塊(Tk接口)是Python的標準TkGUI工具包的接口。Tk和Tkinter可以在大多數的Unix平臺下使用,同樣可以應用在Windows和Macintosh系統里。Tk8.0的后續版本可以實現本地窗口風格,并良好地運行在絕大多數平臺中。
wxPython:
wxPython是一款開源軟件,是Python語言的一套優秀的GUI圖形庫,允許Python程序員很方便的創建完整的、功能鍵全的GUI用戶界面。
Python還有很多快速開發的web框架,比如Django、falsk、webpy等,通過這些框架也是能很容易快速的開發出web應用。
通過這些GUI庫、web框架,可以寫出很多小工具輔助測試。
結語:
一旦你學會一門語言,對于日常工作中,都可以自己寫點工具來解放那些繁瑣重復的工作,讓你有更多的時間放在更有意義的測試上。同時你也學到了很多的技術,也能讓你更好的完成測試工作。
以上內容為大家介紹了Python在測試中的應用,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.dietsnews.net/