摘要:在測試行業,如果利用作為腳本語言開發自動化測試用例,可用的框架有等主流可供選擇,個人感覺較之和應該算是現階段最靈活,功能最全面,擴展最豐富的框架了。不知道各位在做自動化的時候有沒有遇到過用例數過多,單機執行效率不高的困擾。
在測試行業,如果利用python作為腳本語言開發自動化測試用例,可用的框架有rf,unittest,pytest等主流可供選擇,個人感覺較之rf和unittest,pytest應該算是現階段最靈活,功能最全面,擴展最豐富的框架了。
不知道各位在做自動化的時候有沒有遇到過用例數過多,單機執行效率不高的困擾。接下來淺談個人對單元測試框架pytest中的并行執行插件pytest-xdist使用心得.
前提
可以并行執行的測試用例,需要滿足以下原則:
1、用例之間是獨立的,用例之間沒有依賴關系,用例可以完全獨立運行?【獨立運行】
2、用例執行沒有順序,隨機順序都能正常執行?【隨機執行】
3、每個用例都能重復運行,運行結果不會影響其他用例?【不影響其他用例】
pytest-xdist這款插件允許用戶將測試并發執行(進程級并發). 我們可以通過官方文檔https://github.com/pytest-dev/pytest-xdist了解到相關的使用信息
?pytest -n????????參數,指定并行執行的cpu個數,比如咱們的測試執行機cup個數為8,如果想啟動全部cpu參與調度,則直接使用pytest -n 8指定即可
pytest -n auto? ?可以允許自動選擇需要調度的cpu個數,簡單方便,可以講此參數配置到pytest.ini文件中
?可以對比下使用插件前后的執行效率:
使用xdist實現并行執行前(先注釋掉pytest.ini配置文件中配置):
? ? ? ?僅僅構造20條測試數據,參數化驅動
?基本每條用例需要執行時間都超過2s,在軟硬件及網絡環境影響下個別用例執行時間甚至超過20s
?如此僅僅20條測試測試數據執行都花了近2分鐘,如果測試用例數量達到數千條,測試時間無法控制,對執行者也是一種煎熬。
當用例數量龐大時,還可以利用分布式+xdist并行執行的策略,將執行效率再提升,此處以單機資源+xdist為例,以下為使用并行執行策略時執行效率:
先取消pytest.ini中配置的注釋
?
執行相同測試用例,使用xdist并行執行所用時間近11s,時間對比使用前,提升還是挺明顯的,當然我們在實際工作中,還可以使用 多資源分布式+xidist并行執行的策略,進一步提高執行效率。
使用xdist時還需注意 官方文檔中提到的加文件鎖的方法,因為在實際工作中,如果不用filelock,會導致執行時競爭資源而報錯的情況,詳細可閱讀官方文檔中filelock的使用方法
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/119214.html
摘要:本套代碼和邏輯是本人的勞動成果,如果有轉載需要標注,非常適合公司做項目的同學小白也可以學哦接口自動化項目目錄公共方法的封裝如果不用配置文件可以使用這個方法進行封裝但是有一定的缺陷可以不使用字典。這是在正常的命令行解析之前發生的。 ...
小編寫這篇文章的主要目的,是給大家來做個介紹,介紹關于測試報告工具Allure用法的一些詳解,主要是關于一些Pytest Allure類的用法,那么,具體的代碼實例是什么呢?下面就給大家詳細解答下。 Allure除了具有Pytest基本狀態外,其他幾乎所有功能也都支持。 1、嚴重性 如果你想對測試用例進行嚴重等級劃分,可以使用 allure.severity裝飾器,它可以應用于函數,方法或...
摘要:接下來我們將會介紹一些可以快速實現的小技巧,讓你的代碼測試變得更快。該示例測試套件有意地模擬更廣泛的測試集合,并突出改進的可行性。真實情況下,效率的提升可能有所差異。我認為相比通過提升一點速度帶來的好處,保持生產環境一致更重要。 showImg(https://segmentfault.com/img/remote/1460000017962057?w=1440&h=736); 具備高...
摘要:反之,好用例則是表現穩定的用例。可以建立測試或開發人員壞用例檔案,并自動追蹤每一個壞用例的來源,督促負責人跟進解決。接下來,需要做的就是大家共同維護好這樣一個最佳狀態,避免破窗理論的發生。 摘要: 自動化測試的重要性顯而易見,但自動化測試又無法解決所有問題,所以說完全依賴自動化是不可能的,但完全沒有自動化是萬萬不能。在軟件開發項目中,重度依賴人力進行持續回歸是一件非常枯燥的重復工作。企...
摘要:本文使用進行接口測試的最佳路徑下半部分文章,主要介紹測試腳本如何執行和報告生成,以及測試項目人員如何協作。定時執行,我們可以添加測試用例在指定的時間執行,并把測試結果發送到你指定的郵箱。 本文《使用 EOLINKER 進行接口測試的最佳路徑》 下半部分文章,主要介紹測試腳本如何執行和報告生成,以及測試項目人員如何協作。還沒看過上篇文章請戳 使用 EOLINKER 進行接口測試的最佳路徑...
閱讀 1228·2021-09-26 09:46
閱讀 1582·2021-09-06 15:00
閱讀 713·2019-08-30 15:52
閱讀 1116·2019-08-29 13:10
閱讀 1276·2019-08-26 13:47
閱讀 1478·2019-08-26 13:35
閱讀 2027·2019-08-23 18:38
閱讀 721·2019-08-23 17:59