首页 > 其他分享 >Pytest - pytest运行常用命令参数

Pytest - pytest运行常用命令参数

时间:2023-05-21 23:33:06浏览次数:33  
标签:py -- 常用命令 html Pytest pytest report main

pytest 运行常用命令参数


参数 含义
-q 输出的结果缩短显示
-s 显示在python程序中的print输出的内容,如是不加则不会显示
--durations 获取最慢的n个用例的执行耗时
--durations-min 此参数和–durations边用,表示在–durations-min时间段之内,获取最慢的测例耗时
-m pytest调用模块
--pyargs pytest调用包
-n NUM 同时运行多个进程数,次数用于填写并发数,在使用此选项前要安装pytest-xdist
--returns 次数 重试运行的次数
--html 生成测试报告
--junitxml 可以被jenkins工具解析
--doctest-glob 执行doctest
--doctest-moudles 执行doctest
--doctest-continue-on-failure 当执行doctest失败时继续
--lf 只运行失败的测例
--ff 失败的测例优先运行,之后再运行其他测例
--cache-show 检查缓存内容
--cache-clear 清除缓存内容
--maxfail 次数 在出现第几个错误后停止
--pdb 使用pdb调试
-v 控制pytest输出的详细性,测试会话进度,测例失败后的断言细节
--show-capture=no 禁用失败捕获的日志
--disable-warnings 禁用warnings自动收集功能
--alluredir=DIR 使用allure生成测试报告目录,此目录可以不存在
--clean-alluredir 清理测试报告目录
-x 次数 出现第几次失败后结束测试

  • 参数组合使用

    # pytest.main([测试信息输出, 指定测试用例, 测试报告输出, 测试失败次数])
    
    pytest.main(["-q", "test_login.py", '--html=./report.html', "-x"])
    

测试信息输出

# 设置pytest的执行参数 "-q":安静模式, 不输出环境信息
pytest.main(["-q"])

# 设置pytest的执行参数 "-s":显示程序中的print/logging输出
pytest.main(["-s"])

# 设置pytest的执行参数 "-v":丰富信息模式, 输出更详细的用例执行信息
pytest.main(["-v"])

指定用例执行

  • 执行全部用例;
# 直接执行pytest.main():自动查找当前目录下,以`test_`开头或者以`_test`结尾的 .py 文件
pytest.main()

  • 执行指定py文件的用例;
# main函数中填写py文件,会运行指定文件内的测试任务;
pytest.main(["test_login.py"])

  • 执行指定方法的测试用例;
# main函数中填写 `py文件::类::方法` (例如:test_mod.py::TestClass::test_method)
# 会运行指定文件内的、指定类的、指定测试任务;
pytest.main(["test_login.py::Test_Login::test_login"])

  • 执行被标记的测试任务;
# 设置pytest的执行参数 "-m slow":会执行被装饰器 `@pytest.mark.marker` 装饰的所有测试用例;
# @pytest.mark.marker中,`marker` 字符名称可以自定义;例如定义为 `level1`
@pytest.mark.level1
def test_a(self):
    pass

pytest.main(['-m=level1'])


测试报告输出

  • allure 测试报告输出,详细使用方法见《Allure测试报告》
# 需要安装 allure-pytest
# 设置pytest的执行参数 "--alluredir=./report"
## --alluredir 	: 生成报告类型
## ./report	: 生成报告存放路径及名称

pytest.main(['--alluredir=./report'])

  • html 静态报告
# 需要安装 pytest-html
# 设置pytest的执行参数"--html=./report.html":执行测试文件并生成html格式的报告
## --html	: 生成报告类型
## ./report.html: 生成报告存放路径,及报告名称

pytest.main(['--html=./report.html'])
# '--self-contained-html':将html的css样式合并到测试报告中

pytest.main(['--html=./report.html' , '--self-contained-html'])

  • xml 格式报告
# 设置pytest的执行参数 "--junitxml=./report.xml":执行测试文件并生成xml格式的报告;
# 可以与jenkins做集成时使用
## --junitxml	: 生成报告类型
## ./report.xml	: 生成报告存放路径,及报告名称

pytest.main(["--junitxml=./report.xml"])

注:输出测试报告的时候,如果运行的文件不再代码目录的 根目录 下,是不会生成测试报告的。

  • 可在根目录下写一个run.py文件,然后运行即可生产测试报告

    run.py

    import pytest
    	
    pytest.main(['-q', './project/testcase/test_secadmin.py', '--alluredir=./report'])
    

标签:py,--,常用命令,html,Pytest,pytest,report,main
From: https://www.cnblogs.com/mzline/p/17419468.html

相关文章

  • 03、Etcd 客户端常用命令
    上一讲我们安装etcd服务端,这一讲我们来一起学学如何使用etcd客户端常见的命令。文章内容来源于参考资料,如若侵权,请联系删除,谢谢。etcd可通过客户端命令行工具etcdctl对etcd进行请求操作#帮助命令,会列出所有的命令和选项,在记不太清命令的时候,可以使用etcdctl‐h#......
  • docker常用命令使用
    commit(作为一个新的镜像方便使用,可使用dockerimages进行查看新的镜像)dockercommit-a="authorinfo"-m="psinfo"mirroridnew-mirror-name 容器数据卷挂在,将容器内的目录挂在到本机linux上端口暴露需修改成自己需要的dockerrun-it-vlinuxfiledirectory/con......
  • ES常用命令
    一、Maven依赖在使用Java连接Elasticsearch前,需要在Maven中引入相关的依赖包。在pom.xml文件中添加以下依赖:<!--elasticsearch客户端--><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-client</artifactId><......
  • APP自动化--pytest-把图片添加到测试报告中
    pytest输出测试报告时,有时候需要把截图插入报告中,操作可以如下用例如下:frompytest_htmlimportextras导入包#!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2023/5/1217:44#@Author:gezirui#@File:test_dsw_app_ss_011_截图实现.py#@Softw......
  • Pytest单元测试报告用例标题中文名称怎么显示(转载)
    背景基础不牢,地动山摇。在开发编程一途,尤为重要。有python同学喜欢使用pytest框架实现接口自动化测试方案,在使用参数化过程中,无论是控制台还是测试报告中都没有展示用例名称(中文),而是参数化过程的参数顺序,如下图所示:从报告效果上看,存在不知道fail的用例是哪......
  • pytest中,fixture的scope可以设置的级别
    function:默认值,表示fixture将在测试函数被调用时执行,并且它们每个测试函数都会运行一次。@pytest.fixture()defmy_fixture():#setupcodehereyield#teardowncodehereclass:表示fixture将在类内所有测试方法之前和之后执行。一个类有多个测试方法,则......
  • Shell常用命令
    Shell常用命令shell字符!:执行历史命令!!:执行上一条命令$:变量中取内容符+-*/%:对应数学运算加减乘除取余数&:后台执行;:分号可以在shell中一行执行多个命令,命令之......
  • Pytest根据命令行参数使用动态数据进行参数话数据驱动
    Python中有一个重要的特性是,装饰器、类属性、模块变量都是模块加载时立即执行的。因此在使用@pytest.mark.parametrize进行参数话的时候,数据一般是确定的,如下例:importpytestDATA=["a.txt","b.txt","c.txt",]@pytest.mark.parametrize('filepath',DATA)......
  • 常用命令行
    netshwinsockresetdockerpullintel/intel-extension-for-pytorch:gpudockerrun-it--device/dev/dri-vL::/data-p7860:7860intel/intel-extension-for-pytorch:gpudockerrun-it--privileged-vL::/data-p7860:7860intel/intel-extension-for-pytorch:gp......
  • dpkg命令用法、Ubuntu下deb包的解压、打包、安装、卸载及常用命令参数
    dpkg命令的用法不带图简装:https://blog.csdn.net/wanghuohuo13/article/details/78916821?ops_request_misc=&request_id=&biz_id=102&utm_term=dpkg&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-6-.first_rank_v2_pc_rank_v29&am......