# -*- 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
python接口自動化-pytest-分布式并發(fā)執(zhí)行pytest-xdist
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關(guān)閱讀更多精彩內(nèi)容
- pyAppium 項目介紹 pyAppium是python語言,基于PO模式的pytest、Appium二次封裝的...
- 一、默認執(zhí)行順序 pytest默認按字母順序去執(zhí)行的(小寫英文—>大寫英文—>0-9數(shù)字)用例之間的順序是文件之間...