pytest 併發執行多個項目

實現各個項目的併發執行,同時也能保證每一個項目也能實現單獨運行python

image.png

1、須要安裝第三方庫,pytest-xdist
session

2、test用例的組織架構以下:架構

test 是用例的最高層 │   conftest.py  # conftest文件,scope="session",scope級別爲session,做用一保證整個進程內惟一,做用二配合python多進程、線程通訊,造成統一的對象,如想要生成一個在各個進程、線程內通用的對象時存放於此併發

│   run.py   # 併發執行的run文件,__main__   pytest.main(['-s',  '-v', '-n=2'])須要指定併發的進程數ide

│   __init__.py│                   ├─test_項目組1│  # 項目組1的測試用例集,目錄函數

        │  conftest.py│  # conftest文件,裏面存在初始化操做,如初始化driver,指定日誌等,對項目組1有效,主要爲各個項目組配合config內的數據提供特殊化信息測試

        │  test_1_項目組1.py│  # 項目1的用例1spa

        │  test_2_項目組1.py│  # 項目2的用例2線程

        │  run_項目組1.py│  # 項目組1的運行文件 __main__ 函數 pytest.main(['-s',  '-v']) 用於單獨執行項目組1的用例3d

        │  __init__.py │               ├─test_項目組2# 項目組2的測試用例集,目錄

     │  conftest.py│   # conftest文件,裏面存在初始化操做,如初始化driver,指定日誌等,對項目組2有效,scope="package",scope級別爲package及其如下,主要爲各個項目組配合config內的數據提供特殊化信息

     │  test_2_項目組2.py# 項目2的用例1

     │  run_項目組2.py│  # 項目組2的運行文件  __main__ 函數  pytest.main(['-s',  '-v']) 用於單獨執行項目組2的用例

     │  __init__.py

ps:當前只是初稿,後續會將各個項目的配置文件等信息補充,作到既能單獨運行某個項目的用例,也能併發執行全部項目的用例

相關文章
相關標籤/搜索