① 如何用python做自動化測試
目前大家對Python都有一個共識,就是他對測試非常有用,自動化測試里Python用途也很廣,但是Python到底怎麼進行自動化測試呢?今天就簡單的向大家介紹一下怎麼使用Python進行自動化測試,本文只是自己的一點點分享,若有錯誤,請大家多多批評指正。這里主要介紹的是一些Python測試的框架1、單元測試a、unittest:Python自帶的單元測試框架b、pyunit:Junit的Python版本2、使用Pyhon進行WindowsGUI測試這部分的功能主要就是和大家平時使用的QTP類似。在Windows下我們可以使用pywinauto這個開源的框架:/p/pywinauto/來個小例子:app.Notepad.MenuSelect("Help->AboutNotepad")app.AboutNotepad.OK.Click()app.Notepad.Edit.TypeKeys("pywinautoWorks!",with_spaces=True)呵呵,強大吧3、使用Python進行Web自動化測試使用Python進行Web自動化測試的工具有很多,這里就向大家推薦一下我比較熟悉的Selenium(WebDriver)吧。c、Pymeter
② Python實現性能自動化測試竟然如此簡單
一、思考❓❔
1.什麼是性能自動化測試?
2.Python中的性能自動化測試庫?
locust庫
二、基礎操作
1.安裝locust
安裝成功之後,在cmd控制台將會新增一條命令,可輸入如下命令查看:
2.基本用法
三、綜合案例演練
1.編寫自動化測試腳本
2.使用命令行運行
3.打開web ui界面進行配置
設置並發用戶數為10,每5秒創建一個用戶
壓測過程截圖
美輪美奐的壓測報告
壓測失敗詳情
下載壓測統計數據
下載的壓測統計數據csv文件
六、總結
出處:https://www.cnblogs.com/keyou1/
③ python 自動化,如何添加測試用例
1、單獨添加一個或多個用例
......
2、添加某個類下的所有用例
2.1方法一:
如Class_name類下有多個用例,則直接括弧里不寫入任何用例名,即可測試該類下所有用例。
2.2方法二
使用unittest.makeSuite(類名),將該類下所有用例添加到套件中
2.3方法三
使用 unittest.TestLoader()這個類下的loadTestsFromTestCase(類名),將該類下的所有用例加入到套件中
3、將整個文件中的用例都載入到套件中,不管有幾個用例類
使用 unittest.TestLoader()這個類下的loadTestsFromMole(文件名, pattern=None),moudle就是用例存放的文件名
④ python3實現自動化測試 [基於python語言實現自動化測試的研究]
[摘 要]自動化測試近年來的技術已經越來越成熟,在某些方面有著不可替代的作用,例如在性能測試,壓力測試中,自動化測試可以模擬成千上萬個用戶對目標程序進行測試。本文通過對大型實際項目的分析研究,分析針對某一產品的自動化測試框架。然後討論怎樣用python實現自動化測試。
[關鍵詞]測試技術手工測試自動化測試python腳本
[中圖分類號]TP3[文獻標識碼]A[文章編號]1007-9416(2010)03-0088-01
地添加測試用例,為測試用例提供公用函數,執行測試用例,發送測試結果等功能。
1 自動化測試的重要概念
檢查點(CheckPoint):將特定屬性的當前數據與期望數據進行比較的地方,用於判定被測試程序的功能是否正確。
成本收益比:並不是所有的測試都適合自動化測試,衡量一個用例是否適合自動化測試一個很重要的參考是國際上流行的自動化測試成本收益比,即是p=k*n/c1+c2。各個參數的意義下:
K=手工執行自動化測試案例所花費的時間成本。
N=自動化測試案例執行的次數
C1=花費在自動化測試前期的(時間成本+人力成本+金錢成本)
C2=花費在自動化測試後期的(時間成本+人力成本+金錢成本)
二八定律:1897年義大利經濟學家帕列托發現的二八定律在軟體行業同樣適用,而可以給我們很多啟發,指導我們的軟體開發和測試。80%的用戶經常使用的是20%的軟體功能。在軟體測試中,80%的bug是集中在20%的軟體模塊中,對於自動化測試來說,找出這20%的測試用例是至關重要的。
2 自動化測試的執行步驟
每次腳本都是從一個統一的文件開始執行的,就是如上的Start.py。這樣做的好處是可以把每個腳本都需要處理的工作放到一個文件中去執行,例如收集一些配置信息,讀取命令行參數。以這樣統一的處理風格為腳本的可讀性提供了保證,也為簡化了測試腳本的編寫,不用每次都要處理一些基本的事務。
啟動文件Start.py首先會讀取命行參數,如pthon Start.py -s FileMenu.suite -t FileNew
通過python的內置函數sys.argv就可以讀取命令行參數吵肢,非常方便。讀取到命令行參數後,在Start.py內部可以判斷命令行的格式是否符合我們的格式,如測試人員不小心把-s 寫成了-z 這樣就要退出測試執行。
如果輸入的格式是正確的,Start.py 負責在特定的目錄下尋找特定的Suite文件和Testcase。Suite文件和Testcase的格式會在下邊的具體實例中作介紹。
找到特定的Testcase後就可以執行測試用例,根據檢查點的通過或失敗發送測試報告,該報告會以網頁的形式顯示,方便測試人員和開發人員的查找調試。
3 用python實現GUI測試
圖形用戶界面(GUI) 就是使用圖象,輸入的文字,帶圖標的計算機界面,取而代之了許多鍵盤的功能。GUI可以讓用戶通過圖標和滑鼠與計算機進行交互,而不是單調地在命令行中輸入文本進行操作。設計良好的圖形用戶界面可以使用戶從命令中解放出來。
GUI測試主要包括兩個方面:一是純GUI測試,主要關注應用程序上GUI組件是否符合規范或是用戶的使用習慣,二是功能測試,主要是檢驗和驗證系統是否實現了系統的業務需求,旨在驗證系統的業務實現能力。但事實上兩者不是完全獨立的,一方面GUI的測試必定要觸發功能,另一方面,功能測試也一定要通過GUI將搜碰洞事件傳遞給後台服務。
3.1 編寫測試用例
ID 466540 :: Test CaseGeneral UI File Menu
Version 2
世枯PriorityP1
Summary:Verify File New window
Steps
SelectFile -> New
Expected Results
1. The VM creation window should open.
Keywords: i18n
Requirements : None
Created on 09/22/2008 20:58:23by wangw
Last modified on04/17/2009 00:20:53by marian
3.2 測試用例分析
以上是一個完整測試用例, 該測試用例包括:
測試ID 466540 , 有了測試ID就可以在測試人員提交bug後,QA或開發人員通過ID找到這個測試用例。還有一個更大的用處就是,在自動個腳本生成測試報告後,可以根據測試ID把該測試用例顯示在測試報告中,以供測試人員和開發人員調試。
測試名稱,根據測試名稱應該可以很快了解測試用例的內容,所以好的測試名稱也是非常重要的。
測試用例的版本(Version)。
測試優先順序(Priority),測試優先順序也是一個很重要的參數,因為大型項目都要有很多測試用例要執行。只有明確測試優先順序才能確保重要的測試用例得以及時進行,保證軟體質量。
測試用例概述(summary),幫助測試執行人員了解該測試用例的用測的功能。
測試步驟,描述測試人員或是自動化腳本每一步是怎樣操作的,例如本例告訴測試人員選擇菜單Fie,然後選擇菜單項New。
預期結果(Expected Results),說明經過以上測試步驟,期望程序運行出現的結果。
4 結語
本文在明確軟體測試理論的基礎上,對自動化測試做了重點闡述,通過實際項目的自動化測試分析,有些測試用例特別適合用自動化測試。例如GUI測試中,用些是要驗證界面元素是否顯示正常。如果是腳本就可以准確無誤地很快驗證完畢,而用人工驗證不僅容易出錯而且費時間。由於時間和硬體條件有限,本論文規避了許多問題,所以仍有許多工作需要完成。例如:做好腳本的復用,使測試腳本不斷積累。及研究怎樣在測試工具和自己搭建框架中尋找平衡等。
[參考文獻]
[1] 張克東.《軟體工程與軟體測試自動化教程》.北京:電子工業出版社,2002.
[2] 朱菊,王志堅,楊雪.《基於數據驅動的軟體自動化測試框架》[J]計算機技術測試與發展,2006.
[3] 馬瑞芳,王會燃.《計算機軟體測試方法的研究》.小型微型計算機系統,2003.
[4] 朱鴻,金凌紫.《軟體質量保障和測試》[M].北京:電子科學出版社,1997.
本文為全文原貌 未安裝PDF瀏覽器用戶請先下載安裝 原版全文
⑤ python+appium自動化測試-重復執行測試用例
來自APP Android端自動化測試初學者的筆記,寫的不對的地方大家多多指教哦。
在功能測試過程中,經常會遇到一些偶然出現的Bug,需要通過重復執行用例來復現問題,那麼,在自動化測試的過程中,對於一些偶然出現的Bug,也可以針對單個用例,或者針對某個模塊的用例重復執行多次來復現。
重復執行測試用例的方法這邊主要總結了三個:
①重復運行單條或全部測試用例
②測試用例運行失敗後重新運行
③測試用例重復運行直到第一次失敗後停止
要重復執行測試用例,需要先安裝pytest-repeat插件
全局安裝: 即安裝在全局環境中,新創建的工程導入全局環境時會將該包導入,cmd輸入:pip install pytest -repeat,安裝成功後會顯示repeat版本號
局部安裝: 即安裝在當前項目的環境下,新創建的工程不會同步該包,在PyCharm→File→setting,搜索pytest intrepreter,點擊「+」號,如下圖所示:
再搜索pytest-repeat,點擊install package安裝
出現下圖表示安裝成功:
重復執行測試用例的方法有多種,比如:方法一的重復執行單條測試用例;方法二的重復執行每條測試用例;方法三的每條測試用例執行一次,共執行N遍。
在測試用例前添加註解@pytest.mark.repeat(value),value表示重復的次數,來實現單條用例的重復執行。
運行結果為:被裝飾的測試用例test_one會連續執行兩次,再執行test_two,即按照順序,第一個測試用例執行N次,再執行下一個測試用例
在終端傳入-count的方式實現重復執行測試用例
運行結果為:測試用例test_one會連續執行兩次,再執行兩次test_two,即按照執行順序,每一個測試用例都執行N次
注意:-s:表示輸出用例中的調式信息,比如print的列印信息等。
-repeat-scope類似於pytest fixture的scope參數,在終端輸入,-repeat-scope有四個參數:
重運行機制使用到了pytest的插件,插件名稱為:rerunfailures,要使用它,需要先安裝此插件
出現下圖表示安裝成功:
運行結果如下:
注意:
運行結果如下:
將pytest的 -x 選項與pytest-repeat結合使用,可以實現在重復運行測試用例的過程中,測試用例第一次失敗時就停止運行,具體實現方法如下:
運行結果如下:
⑥ 基於Python+UIautomation的WindowsGUI自動化測試實戰
1 測試需求
模擬用戶操作,打開記事本進行內容輸入
2 測試步驟
2.1 用例1
打開記事本;
窗口最大化;
輸入"人生苦短,我用Python!";
關閉窗口;
不保存直接退出。
2.2 用例2
打開記事本;
窗口最大化
輸入:
Python之禪!
優美勝於醜陋(Python 以編寫優美的代碼為目標)
明了勝於晦澀(優美的代碼應當是明了的,命名規范,風格相似)
簡潔勝於復雜(優美的代碼應當是簡潔的,不要有復雜的內部實現)
復雜勝於凌亂(如果復雜不可避免,那代碼間也不能有難懂的關系,要保持介面簡潔)
扁平勝於嵌套(優美的代碼應當是扁平的,拍核不能有太多的嵌套)
間隔勝於緊湊(優美的代碼有適當的間隔,不要奢望一行代碼解決問題)
可讀性很重要(優美的代碼是可讀的)
即便假借特例的實用性之名,也不可違背這些規則(這些規則至高無上)
不要包容所有錯誤,除非你確定需要這樣做(精準地捕獲異常,不寫 except:pass 風格的代碼)
當存在多種可能,不要嘗試去猜測
而是盡量找一種,最好是唯一一種明顯的解決方案(如果不確定,就用窮舉法)
雖然這並不容易,因為你不是 Python 之父(這里的 Dutch 是指 Guido )
做也許好過不做,但不假思索就動手還不如不做(動手之前要細思量)
如果你無法向人描述你的方案,那肯定不是一個好方慶喊案;反之亦然(方案測評標准)
命名空間是一種絕妙的理念,我們應當多加利用(倡導譽賀野與號召)"