python接口自動化-pytest-分布式并發(fā)執(zhí)行pytest-xdist

# -*- coding: utf-8 -*-
# @Time    : 2023/6/27 10:58
# @Author  : yanfa
# @user   : yanfa 
# @File    : test_pytest_for_xdist.py
# @remark: 分布式并發(fā)執(zhí)行測試用例
""""""
from time import sleep

"""一、pytest并行與分布式執(zhí)行
場景1:
測試用例1000條,一條執(zhí)行1分鐘,一個測試人員執(zhí)行需要100分鐘。通常我們會用人力成本換取時間成本,加幾個一起執(zhí)行,時間就會縮短,
如果10個人一起執(zhí)行只需要100分鐘,這就是一種分布式場景。
場景2:
假設有一個報名系統(tǒng),對報名總是統(tǒng)計,數(shù)據(jù)同時進行修改操作的時候有可能出現(xiàn)問題,需要迷你這種
場景,需要多用戶并發(fā)請求數(shù)據(jù)。

解決:
使用分布式并發(fā)執(zhí)行測試用例。分布式插件:pytest-xdist

使用方法:進入pypi.python.org 搜索pytest-xdist 查看官方文檔
       安裝:pip install pytest-xdist (pip install pytest-xdist[psutil] 要使用psutil檢測可用CPU數(shù)量,請安裝psutil附加)
       執(zhí)行命令:
                pytest -n auto(pytest將生成與可用CPU數(shù)量相等的工作進程,并在它們之間隨機分布測試。)
                pytest -n 4 (指定cpu數(shù)量)   
注意:
用例多的時候效果明顯,多進程并發(fā)執(zhí)行,同時支持allure
"""

"""二、分布式執(zhí)行測試用例原則
1、用例之間是獨立的,不要有依賴關(guān)系
2、用例執(zhí)行沒有順序,隨機順序都能正常執(zhí)行
3、每個用例都能重復運行,運行結(jié)果不會影響其他用例
"""
# 例子:單線程執(zhí)行【5 passed in 5.04s】  并行執(zhí)行【5 passed in 1.42s】
def test_demo1():
    sleep(1)
    assert True

def test_demo2():
    sleep(1)
    assert True

def test_demo3():
    sleep(1)
    assert True

def test_demo4():
    sleep(1)
    assert True

def test_demo5():
    sleep(1)
    assert True
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容