当前位置: 首页 > wzjs >正文

凡总创业网站wordpress设置为繁体字

凡总创业网站,wordpress设置为繁体字,建设网站的网站公司,建筑给排水代做网站pytest-xdist 是 pytest 的一个扩展插件,主要用于实现测试用例的并行执行和分布式测试。通过利用多进程或者多机分布式的方式,pytest-xdist 能够显著缩短测试执行时间,提升持续集成(CI)流程的效率。 在自动化测试中&a…

pytest-xdist 是 pytest 的一个扩展插件,主要用于实现测试用例的并行执行和分布式测试。通过利用多进程或者多机分布式的方式,pytest-xdist 能够显著缩短测试执行时间,提升持续集成(CI)流程的效率。

在自动化测试中,当测试用例数量庞大时,单进程顺序执行的速度往往难以满足需求。pytest-xdist 是基于 pytest 的一个插件:

  1. 在单台机器上利用多进程并行运行测试,充分利用多核 CPU 的优势;

  2. 实现分布式测试,在多台机器上同时执行测试;

  3. 结合负载均衡策略(按用例、文件或模块分配任务),提高并行执行的效率;

  4. 支持自动失败重试、覆盖率统计等功能。

利用多进程并行或分布式执行测试用例,这不仅能显著缩短测试运行时间,还能提升 CI/CD 流程的效率。

安装与基本使用

通过 pip 安装 pytest-xdist 非常简单:pip install pytest-xdist

安装后,可以通过 pytest -h 查看新增的命令行选项。

基本命令:

最简单的并行运行命令是使用 -n 选项:pytest -n 4,这里 4 表示使用 4 个进程并行运行测试。

如果希望自动检测系统的 CPU 核心数,并充分利用所有资源,可以使用:pytest -n auto

简单示例
下面是一个简单的示例,如何结合 pytest-xdist 进行并行测试
示例文件:test_sample.py

import time
def test_one():time.sleep(1)assert True
def test_two():    time.sleep(1)    assert True
def test_three():    time.sleep(1)    assert True
def test_four():    time.sleep(1)    assert True

运行以下命令来并行执行上述 4 个测试用例:pytest -n 4 test_sample.py,此命令会将 4 个测试用例分配到 4 个进程中同时运行,从而显著减少总体执行时间。

负载均衡策略

pytest-xdist 支持多种负载均衡策略,通过 --dist 参数进行配置:
在这里插入图片描述
例如,按模块进行负载均衡:pytest -n 4 --dist=loadscope

负载均衡策略可以根据项目的实际情况和测试用例的特点灵活选择:

  1. load 策略适合大多数测试用例都较为独立且执行时间均衡的情况,通过精细地按用例分配,能最大化利用多核 CPU 的优势。

  2. loadscope 策略在模块内测试共享资源或有较重初始化开销时更有优势,能够减少重复工作并控制状态影响范围。

  3. loadfile 策略则适用于需要文件级别隔离的情况,保证每个测试文件内部的状态一致性,同时避免重复加载资源。

Selenium 并行 UI 自动化测试案例

在自动化测试中,Selenium 常用于 Web UI 测试,而 pytest-xdist 则能通过多进程并行运行测试用例,大幅缩短整体执行时间。

将二者结合使用时,需要注意以下几点:

  1. 独立 WebDriver 实例:由于测试在不同进程中并行执行,每个进程都必须创建自己的 WebDriver 实例,不能共享同一个浏览器驱动。
  2. 环境隔离:确保各个进程中的测试环境(如浏览器驱动、配置文件等)互不干扰,避免因资源竞争导致测试失败。

示例文件:test_multiple_search.py

import pytest
from selenium import webdriver
from selenium.webdriver.common.by import By
def create_driver():    options = webdriver.ChromeOptions()  # 使用无头模式  options.add_argument('--headless')    		options.add_argument('--disable-gpu')    options.add_argument('--no-sandbox')    options.add_argument('--window-size=1920,1080')    return webdriver.Chrome(options=options)@pytest.fixture(scope="function")
def driver():    driver_instance = create_driver()    yield driver_instance    driver_instance.quit()# 测试 百度 搜索 
def test_baidu_search(driver):   driver.get("https://www.baidu.com")    search_box = driver.find_element(By.ID, "kw")    search_box.send_keys("pytest-xdist")    search_box.submit()    driver.implicitly_wait(3)    assert "pytest-xdist" in driver.page_source# 测试 Bing 搜索
def test_bing_search(driver):driver.get("https://www.bing.com")    search_box = driver.find_element(By.NAME, "q")    search_box.send_keys("pytest-xdist")    search_box.submit()    driver.implicitly_wait(3)    assert "pytest-xdist" in driver.page_source# 测试 DuckDuckGo 搜索
def test_duckduckgo_search(driver):driver.get("https://www.duckduckgo.com")    search_box = driver.find_element(By.NAME, "q")    search_box.send_keys("pytest-xdist")    search_box.submit()    driver.implicitly_wait(3)    assert "pytest-xdist" in driver.page_source

使用 pytest-xdist 的 -n 参数启动并行执行,例如:pytest -n 3 test_multiple_search.py,这将启动 3 个进程,每个进程各自运行不同的测试用例,从而加速整体测试执行。

http://www.dtcms.com/wzjs/536808.html

相关文章:

  • 功能网站首页模板广州顶正餐饮培训学校
  • 国外的哪个网站可以做跳转望城警务督察网站建设
  • 网站系统评测要怎么做呢怎样营销能有效获取客户
  • 廊坊网站建设开发服务器做网站用什么系统
  • 如何建设一个优秀的电商网站怎么自己做淘宝客网站吗
  • 本地搭建wordpress建站教程四川省城乡建设信息网站证件查询
  • 网站定制公司哪家好国外高清视频素材网站推荐
  • 国外网站鞋子做的好的网站seo公司优化方案
  • 怎么快速提升网站权重企业网站建设免费
  • 阿里云有域名之后怎么建设网站广西网站运营
  • php的网站数据库如何上传百度网站联盟
  • 母婴用品商城网站建设设计师网站登录
  • 成都网站设计与制作江西网站备案要求
  • 网站建设要多久seo顾问服务公司站长
  • 网站备案和不备案的区别wordpress+上一篇+下一篇
  • 怎么搭建网站后台搭建一个官网需要多少钱
  • 青海省高等级公路建设管理局网站湖北短视频搜索seo
  • 织梦网站建设实训心得响应式学校网站
  • 网站建设工作室门头免费做网站页头图
  • 用c 做一个小网站怎么做绍兴seo
  • 网站主题模板下载不了顺德大良网站建设
  • 如何做网站怎么赚钱吗wordpress 怎么打开
  • 想在百度做网站品牌网站 响应式网站
  • 网站建设分金手指排名二九建网站排名
  • 网站设计与管理的软件广州在建火车站在哪里
  • 在手机上怎么做微电影网站网站建设任务和标准
  • 江苏网站seo龙岩天宫山要门票吗
  • 兼职做猎头的网站学网页设计学费多少
  • 好的地产设计网站社交网站怎么做
  • 9个做简历的网站建设网站话术