Python語(yǔ)言是一種面向?qū)ο蟮挠猛緩V泛的變成語(yǔ)言,語(yǔ)法清晰章姓,可以完成許多任務(wù)佳遣,由于海量的第三方庫(kù)的存在识埋,實(shí)現(xiàn)的功能非常多也非常的容易。
Python是一種動(dòng)態(tài)的腳本語(yǔ)言零渐,學(xué)習(xí)成本大大低于Java等編程語(yǔ)言窒舟,因此對(duì)于我們測(cè)試人員來(lái)說(shuō),如果需要掌握一門語(yǔ)言诵盼,當(dāng)然Python是最好的選擇惠豺;
Python豐富的第三方庫(kù),幾乎想要的功能风宁,都能找到對(duì)應(yīng)的庫(kù)耕腾,而我們應(yīng)用這些庫(kù)的時(shí)候,只考慮怎么去使用這些庫(kù)提供的API而不用考慮怎么去實(shí)現(xiàn)杀糯,極少出現(xiàn)需要二次開發(fā)的情況;
Python開發(fā)效率很高苍苞,同樣的任務(wù)大約是java的10倍固翰,C/C++的10-20倍,當(dāng)然這個(gè)統(tǒng)計(jì)來(lái)源于一些編程人員的感受羹呵,并不是精確的數(shù)值骂际,但是也可以看出其開發(fā)效率之高。我們測(cè)試人員一般都會(huì)主要以手工測(cè)試為主冈欢,因此不可能全職來(lái)運(yùn)用某種語(yǔ)言實(shí)現(xiàn)歉铝,因此肯定需要選擇效率高的,人生苦短凑耻,我用Python太示;
Python支持多種系統(tǒng),linux香浩、mac上都默認(rèn)安裝了Python类缤,windows更不用說(shuō),當(dāng)我們測(cè)試需要在各種平臺(tái)運(yùn)行腳本的時(shí)候邻吭,幾乎不用考慮跨平臺(tái)餐弱。
那如果我們學(xué)會(huì)了Python,哪些方面可以應(yīng)用Python來(lái)輔助我們的測(cè)試呢囱晴?顯而易見并應(yīng)用最廣泛的當(dāng)屬自動(dòng)化測(cè)試了膏蚓。
Python + Selenium實(shí)現(xiàn)web端的UI自動(dòng)化:
Selenium是一個(gè)用于Web應(yīng)用程序測(cè)試的工具。Selenium測(cè)試直接運(yùn)行在瀏覽器中畸写,就像真正的用戶在操作一樣驮瞧。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox枯芬,Safari剧董,Google Chrome幢尚,Opera等。這個(gè)工具的主要功能包括:測(cè)試與瀏覽器的兼容性——測(cè)試你的應(yīng)用程序看是否能夠很好得工作在不同瀏覽器和操作系統(tǒng)之上翅楼。測(cè)試系統(tǒng)功能——?jiǎng)?chuàng)建回歸測(cè)試檢驗(yàn)軟件功能和用戶需求尉剩。
Python與Selenium結(jié)合能夠很好的實(shí)現(xiàn)web端的UI級(jí)別的自動(dòng)化。Selenium幾乎能解決目前遇到的web頁(yè)面中所有的定位難題毅臊,當(dāng)然有些特殊的可以借助JavaScripts也可以實(shí)現(xiàn)理茎。
Python + Requests實(shí)現(xiàn)接口測(cè)試:
進(jìn)入python requests官網(wǎng)看到的的第一句話是:
Requests 唯一的一個(gè)非轉(zhuǎn)基因的Python HTTP 庫(kù),人類可以安全享用管嬉。
通過(guò)requests庫(kù)提供的各種API可以非常方便的模擬HTTP請(qǐng)求皂林,實(shí)現(xiàn)接口自動(dòng)化測(cè)試。
Python + Appium實(shí)現(xiàn)app自動(dòng)化測(cè)試:
Appium是一個(gè)自動(dòng)化測(cè)試開源工具蚯撩,支持 iOS 平臺(tái)和Android 平臺(tái)上的原生應(yīng)用础倍,web 應(yīng)用和混合應(yīng)用。
所謂的 移動(dòng)原生應(yīng)用 是指那些用iOS 或者 Android SDK 寫的應(yīng)用胎挎。所謂的 移動(dòng) web 應(yīng)用 是指使用移動(dòng)瀏覽器訪問(wèn)的應(yīng)用(Appium 支持 iOS 上的Safari 和 Android 上的 Chrome)沟启。所謂的“混合應(yīng)用”是指原生代碼封裝網(wǎng)頁(yè)視圖——原生代碼和web 內(nèi)容交互。比如犹菇,像 Phonegap德迹,可以幫助開發(fā)者使用網(wǎng)頁(yè)技術(shù)開發(fā)應(yīng)用,然后用原生代碼封裝揭芍,這些就是混合應(yīng)用胳搞。
重要的是,Appium 是一個(gè)跨平臺(tái)的工具:它允許測(cè)試人員在不同的平臺(tái)(iOS称杨,Android)使用同一套API來(lái)寫自動(dòng)化測(cè)試腳本肌毅,這樣大大增加了iOS 和 Android 測(cè)試套件間代碼的復(fù)用性。
Appium也是多語(yǔ)言支持姑原,當(dāng)然也是支持python的芽腾,運(yùn)用python + Appium可以實(shí)現(xiàn)跨平臺(tái)的app UI自動(dòng)化測(cè)試。
Python編寫工具輔助測(cè)試:
Python 提供了多個(gè)圖形開發(fā)界面的庫(kù)页衙,幾個(gè)常用 Python GUI 庫(kù)如下:
Tkinter:
Tkinter 模塊(Tk 接口)是Python 的標(biāo)準(zhǔn) Tk GUI 工具包的接口摊滔。Tk 和 Tkinter 可以在大多數(shù)的Unix 平臺(tái)下使用,同樣可以應(yīng)用在Windows 和 Macintosh 系統(tǒng)里店乐。Tk8.0 的后續(xù)版本可以實(shí)現(xiàn)本地窗口風(fēng)格,并良好地運(yùn)行在絕大多數(shù)平臺(tái)中艰躺。
wxPython:
wxPython 是一款開源軟件,是 Python 語(yǔ)言的一套優(yōu)秀的GUI 圖形庫(kù)眨八,允許 Python 程序員很方便的創(chuàng)建完整的腺兴、功能鍵全的GUI 用戶界面。
Python還有很多快速開發(fā)的web框架廉侧,比如Django页响、falsk篓足、webpy等,通過(guò)這些框架也是能很容易快速的開發(fā)出web應(yīng)用闰蚕。
通過(guò)這些GUI庫(kù)栈拖、web框架,可以寫出很多小工具輔助測(cè)試没陡。
結(jié)語(yǔ):
一旦你學(xué)會(huì)一門語(yǔ)言涩哟,對(duì)于日常工作中,都可以自己寫點(diǎn)工具來(lái)解放那些繁瑣重復(fù)的工作盼玄,讓你有更多的時(shí)間放在更有意義的測(cè)試上贴彼。同時(shí)你也學(xué)到了很多的技術(shù),也能讓你更好的完成測(cè)試工作埃儿。