pytest是强大单元测试框架,框架本身已经提供了非常做的功能,就算自身不支持的功能,由于他提供了比较标准的插件开发能力,我们也可以利用插件完成相关的功能。本文收集了一些最最常用的一些pytest插件。
以下是pytest常用插件的功能介绍、GitHub地址(本文不提供安装和使用示例,如果看到功能介绍觉得有用,请访问GitHub进一步了解使用):
功能介绍:pytest-html插件用于生成HTML格式的测试报告,使得测试结果更加直观和易于分享。该报告包含详细的测试结果、失败截图、测试耗时等信息。
GitHub地址:
https://github.com/pytest-dev/pytest-html
功能介绍:allure-pytest是pytest的一个插件,用于集成Allure框架来生成详细的测试报告。Allure报告包含测试步骤、日志、标题、优先级、附件等详细信息,有助于更好地理解测试用例的执行情况。
GitHub地址:
https://github.com/allure-framework/allure2
功能介绍:pytest-xdist插件支持并行执行测试用例,提高了测试的执行效率。它通过将测试用例分配给多个进程来并行执行,从而充分利用系统的计算资源。
GitHub地址:
https://github.com/pytest-dev/pytest-xdist
功能介绍:pytest-rerunfailures插件允许对失败的测试用例进行重试。当一个测试用例失败时,插件会自动重新运行该测试用例,直到达到预定的重试次数或测试用例通过为止。
GitHub地址:
https://github.com/pytest-dev/pytest-rerunfailures
功能介绍:pytest-cov插件用于生成测试覆盖率报告。它无缝集成到pytest框架中,帮助用户轻松地进行代码覆盖测试,并支持子进程和分布式测试。
GitHub地址:https://github.com/pytest-dev/pytest-cov
功能介绍:pytest-assume插件允许在单个测试用例中多次断言,即使前面的断言失败,后续的断言也会继续执行,从而提供更多失败信息。
GitHub地址:
https://github.com/astraw/pytest-assume
功能介绍:pytest-ordering插件允许用户自定义测试用例的执行顺序。默认情况下,pytest按照模块、类和函数的定义顺序执行测试用例,但该插件允许用户覆盖这种默认行为。
GitHub地址:
https://github.com/pytest-dev/pytest-ordering
功能介绍:pytest-faker添加了Faker fixture,以便在pytest运行器下轻松使用Faker进行测试。
GitHub地址:https://github.com/pytest-dev/pytest-faker
功能介绍:pytest-base-url是pytest的一个简单插件,它通过命令行或配置文件提供可选的基本URL。
GitHub地址:
https://github.com/pytest-dev/pytest-base-url
功能介绍:pytest 使用 requests 库的插件。
GitHub地址:https://github.com/SeldomQA/pytest-req
功能介绍:pytest-selenium是pytest的一个插件,它支持运行基于Selenium的测试。
GitHub地址:
https://github.com/pytest-dev/pytest-selenium
功能介绍:使用Playwright和pytest为你的Web应用程序编写端到端测试。
• 支持所有现代浏览器,包括Chromium、WebKit和Firefox。
• 支持headless和headed执行。
• 内置fixture,提供浏览器原语来测试功能。
GitHub地址:
https://github.com/microsoft/playwright-pytest
功能介绍:Python用于网络抓取、抓取、测试和报告的一体化框架。支持pytest。UC模式提供隐身。包括许多工具。
GitHub地址:
https://github.com/seleniumbase/SeleniumBase
注:严格来讲seleniumbase不能看作pytest的插件,他只是利用pytest运行测试用例。
功能介绍:pytest-bdd实现了Gherkin语言的一个子集,以实现项目需求测试的自动化并促进行为驱动的开发。
GitHub地址:
https://github.com/pytest-dev/pytest-bdd
最后
如果你还在工作中用到哪些pytest插件,欢迎留言补充。