㈠ python做軟體自動化測試的入門提問
用python做自動化測試,主要是介面測試和UI自動化測試。一、介面測試:http協議的舉例:可以用python自帶的urllib\urllib2模擬,模擬前端向伺服器發送數據,獲取返回值後,進行校驗和判斷來進行介面測試。網上的例子也比較多,這里簡單說一下,比如request中data的邊界值測試、字元測試、非空為空測試等等,都可以做二、UI自動化測試:html頁面(python+selenium)或者一些安卓app(python+appiun)可以用。主要是頁面元素的檢查、輸入等。比如可以寫一個腳本,自動登錄網路頁面,搜索某一個關鍵字,並且獲得此關鍵字的網路搜索數量。
㈡ Python可以做自動化測試嗎
python 可以做自動化測試。
但是需要安裝selenium模塊。
㈢ Python自動化測試框架有哪些
分享一些可用的Python自動化測試框架。
自動化測試常用的Python框架有哪些?常用的框架有Robot Framework、Pytest、UnitTest/PyUnit、Behave、Lettuce。Pytest、Robot Framework和UnitTest主要用於功能與單元測試,Lettuce和Behave僅適用於行為驅動測試。
一、Robot Framework
Python測試框架之一,Robot Framework被用在測試驅動(test-driven)類型的開發與驗收中。雖然是由Python開發而來,但是它也可以在基於.Net的IronPython和基於java的Jython上運行。作為一個Python框架,Robot還能夠兼容諸如Windows、MacOS、以及Linux等平台。
在使用Robot Framework(RF)之前,需要先安裝Python 2.7.14及以上的版本。推薦使用Python 3.6.4,以確保適當的注釋能夠被添加到代碼段中,並能夠跟蹤程序的更改。同時還需要安裝Python包管理器--pip。
二、Pytest
適用於多種軟體測試的Pytest,是另一個Python類型的自動化測試框架。憑借著其開源和易學的特點,該工具經常被QA(質量分析)團隊、開發團隊、個人團隊、以及各種開源項目所使用。鑒於Pytest具有「斷言重寫(assert rewriting)」之類的實用功能,許多大型互聯網應用,如Dropbox和Mozilla,都已經從下面將要提到的unittest(Pyunit)切換到了Pytest之上。
除了基本的Python知識,用戶並不需要更多的技術儲備。另外,用戶只需要有一台帶有命令行界面的測試設備,並且安裝好了Python包管理器、以及可用於開發的IDE工具。
三、UnitTest/PyUnit
UnitTest/PyUnit一種標准化的針對單元測試的Python類自動化測試框架。基類TestCase提供了各種斷言方法、以及所有清理和設置的常式。因此,TestCase子類中的每一種方法都是以「test」作為名詞前綴,以標識它們能夠被作為測試用例所運行。用戶可以使用load方法和TestSuite類來分組、並載入各種測試。
可以通過聯合使用,來構建自定義的測試運行器。正如我們使用Junit去測試Selenium那樣,UnitTest也會用到UnitTest-sml-reporting、並能生成各種XML類型的報告。由於UnitTest默認使用了Python,因此我們並不需要什麼先決條件。除了需要具備Python框架的基本知識,您也可以額外地安裝pip、以及用於開發的IDE工具。
四、Behave
行為驅動開發是一種基於敏捷軟體開發的方法。它能夠鼓勵開發人員、業務參與者和QA人員,三者之間的協作。Python測試框架Behave允許團隊避開各種復雜的情況,去執行BDD測試。從本質上說該框架與SpecFlow和Cucumber相似,常被用於執行自動化測試。用戶可以通過簡單易讀的語言來編寫測試用例,並能夠在其執行期間粘貼到代碼之中。而且,那些被設定的行為規范與步驟,也可以被重用到其他的測試方案中。
任何具備Python基礎知識的人都可以使用Behave。其他先決條件還包括:先安裝Python 2.7.14及以上的版本。通過Python包管理器或pip來與Behave協作。大多數開發人員會選擇Pycharm作為開發環境,當然您也可以選用其他的IDE工具。
五、Lettuce
Lettuce是另一種基於Cucumber和Python的行為驅動類自動化工具。Lettuce主要專注於那些具有行為驅動開發特徵的普通任務。它不但簡單易用,而且能夠使得整個測試過程更流暢、甚至更有趣。安裝帶有IDE的Python 2.7.14、及以上的版本。當然,您也可以使用Pycharm或任何其他IDE工具。同時,您還需要安裝Python包管理器。
自動化測試的Python框架,Pytest、Robot Framework和UnitTest可主要用於功能與單元測試,而Lettuce和Behave僅適用於行為驅動測試。對於功能測試而言,Pytest是的。如果您是基於Python自動化測試的新手,Robot Framework是的入門工具。雖然其功能有所受限,但是它非常容易上手。對於基於Python的BDD測試而言,Lettuce和Behave同樣優秀。不過,如果你已經有了一定的Pytest經驗,那麼請使用Pytest-bdd。
㈣ Python自動化測試工具大概有哪些
一、對於你的問題,首先明確測試類型,然後才能明確自動化測試類型,最後定位哪個類型用哪個方面的自動化測試工具。
1、測試類型可以包括:白盒測試、黑盒測試(功能測試、性能測試)等。
2、不同的測試類型使用的自動化測試方法不同,白盒測試主要針對代碼級的單元測試、黑盒測試主要面對功能級和系統級的驗證測試。
3、自動化測試,針對白盒測試,一般需要有一定的編程基礎,即能夠基於功能代碼寫測試代碼,常用的單元測試方面的自動化測試工具很多,上網一搜全是。
4、自動化測試,針對功能測試,有幾種情況,基於CLI、API和GUI的測試;基於CLI、API的測試,即應用腳本技術向設備模擬發送CLI命令或者API請求,以達到控制設備的效果。基於GUI功能測試,即應用傳統的界面自動化測試工具(例如:RFT、QTP等)控制界面控制項操作的方法,以達到模擬用戶操作,這幾種方式都需要你有一定的編碼基礎;基於CLI、API的需要你懂腳本技術(例如:tcl、python、ruby等),RFT需要你懂java或者.net、QTP需要VB等。
5、你說的loadrunner就是性能測試方面的工具,即是測試軟體性能、例如多用戶操作等性能、也需要寫代碼,LR腳本支持的語言有:java、
c、Visual Basic、vbscrīpt。默認的腳本生成語言為
C;其實我想說的是,性能測試工具不重要,你需要掌握其性能測試的方法才是更重要的。
二、我感覺你想入門自動化測試,但是從你問的問題來看,有一定盲目性,我簡單說一下自動化測試吧。
1、自動化測試,其理念就是應用各種手段模擬人工操作,節省人力測試成本,保證產品測試質量。
2、你想學好自動化軟體測試,不是單單靠學習幾個自動化工具就能掌握的,但是你可以從工具入手,首先,告訴你自動化測試的基礎是:
1)編程技巧,包括高級語言和腳本語言,腳本語言是初期的掌握,可以有,tcl、phython、ruby等而高級語言,要好好學好一門,例如,我是對java為重點。還有,如果你是對web自動化測試的話,那麼jsp、php、HTML、CSS等web語言是必須掌握的。
2)操作系統技巧;因為軟體自動化測試是構建在操作系統上的,其技巧需要能善於利用到操作系統的各種技巧,例如:注冊表、環境變數、句柄等。
3)資料庫知識,要善於利用資料庫知識去存儲管理。
4)業務知識,這也是重點。你所在軟體行業的軟體業務,要知道你的軟體的工作方式。
5)質量與流程管理理念。
然後,你的學習步驟:
1)可以從工具入手,根據具體的項目去學習;例如:java軟體界面測試(RFT、QTP的java插件等)、web界面測試(QTP、
selenium等)、性能測試(RPT、loadrunner等)。但記住,學習其工具,重點不是簡單的使用,而是如何利用工具去擴展。
2)然後,重點學習以上的基礎,以編程為重點,其餘的結合學習,順便說一句,其實自動化測試的理念與軟體設計模式理念很像,你可以從中有所領悟。
3)之後,再學習去拓建自己的自動化測試框架,何謂框架,一下說不清楚,我給你推薦一下。
注意:如果沒有自動化測試方面的實踐項目的話,最好先從基礎學起,因為基礎學好了,自動化測試入門會很快的。
4(至於性能測試,也是一樣,可以先從工具入手,但不要局限於工具,性能測試最重要的是環境的構建方法以及對測試結果的分析方法,所以性能測試重點在於分析和實現過程,而不是工具使用過程。
㈤ 如何學習python自動化測試
目前大家對Python都有一個共識,就是他對測試非常有用,自動化測試里Python用途也很廣,但是Python到底怎麼進行自動化測試呢?今天就簡單的向大家介紹一下怎麼使用Python進行自動化測試,本文只是自己的一點點分享,若有錯誤,請大家多多批評指正。這里主要介紹的是一些Python測試的框架
1、單元測試
a、unittest :Python自帶的單元測試框架
b、pyunit:Junit的Python版本
2、使用Pyhon進行Windows GUI測試
這部分的功能主要就是和大家平時使用的QTP類似。在Windows下我們可以使用pywinauto這個開源的框架:
http://code.google.com/p/pywinauto/
來個小例子:
app.Notepad.MenuSelect("Help->About Notepad")
app.AboutNotepad.OK.Click()
app.Notepad.Edit.TypeKeys ("pywinauto Works!", with_spaces = True)
呵呵,強大吧
3、使用Python進行Web自動化測試
使用Python進行Web自動化測試的工具有很多,這里就向大家推薦一下我比較熟悉的Selenium(Web Driver)吧。
http://seleniumhq.org
我的其他博客有關於Selenium的文章,大家可以看一下。
RF也是不錯的框架啊,基於關鍵字驅動的
http://robotframework.org/
twill: a simple scripting language for Web browsing
http://twill.idyll.org/
4、使用Python進行性能測試
a、Python Web Performance Tool http://pywebperf.sourceforge.net/
b、Pylot
http://www.pylot.org/gettingstarted.html
c、Pymeter
http://pymeter.sourceforge.net/