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:当前只是初稿,后续会将各个项目的配置文件等信息补充,作到既能单独运行某个项目的用例,也能并发执行全部项目的用例

相关文章
相关标签/搜索