首页 > 其他分享 >Pytest - pytest 命令(3) - 常用命令的使用

Pytest - pytest 命令(3) - 常用命令的使用

时间:2023-05-22 13:02:26浏览次数:38  
标签:执行 -- 常用命令 html Pytest pytest report main

pytest 常用命令


测试信息输出

# 设置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"])

  • log 格式报告(没用过)
# 设置pytest的执行参数 "--resultlog=./report.txt":执行测试文件并生成log格式的报告(4.0以上版本被移除)
## --resultlog		: 生成报告类型
## ./report.txt		: 生成报告存放路径,及报告名称

pytest.main(["--resultlog=./report.txt"])

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

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

    run.py

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


测试执行策略

  • 失败 1 次停止测试
# 设置pytest的执行参数 -x":第01次失败就停止测试

pytest.main(["-x"])

  • 指定最大失败次数后,停止测试
# 设置pytest的执行参数 "--maxfail=2":第02次失败就停止测试

pytest.main(["--maxfail=2"])

  • 指定失败重试次数后,停止测试
# 需要安装 pytest-rerunfailures
# 设置pytest的执行参数 "--reruns=NUM"(NUM是重试次数):测试用例运行失败时,重新运行用例

pytest.main(["--reruns=2"])

  • 指定用例并发进程数(还没用过)
# 需要安装 pytest-xdist
# 设置pytest的执行参数 "-n NUM"(NUM是需要并发的进程数):支持多线程运行测试用例

pytest.main(["-n=2"])



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

相关文章

  • Git 常用命令汇总
    总结一下git的常用命令,以免遗忘。提交记录gitlog是基础的日志查看命令,通过携带不同的参数可以指定日期,指定日期范围等。查看某一日期之后的提交gitlog--after="2021-1-1"--no-merges--no-merges表示过滤掉合并提交记录查看某一时间段的提交gitlog--since="2021-1......
  • Linux安装Ubuntu镜像,常用命令、IP配置等
    Ubuntu1.系统安装ubuntu安装步骤:部分版本分辨率问题显示不全,可以先试用,点击右上角修改分辨率,再安装2.登录ubuntu只能登录创建系统的用户为root修改密码:sudopasswdroot切换root用户:1.sudo-i-uroot2.sudosu3.配置IP安装后尝试pingwww.baidu.com(安装后自动获......
  • Pytest - pytest运行常用命令参数
    pytest运行常用命令参数参数含义-q输出的结果缩短显示-s显示在python程序中的print输出的内容,如是不加则不会显示--durations获取最慢的n个用例的执行耗时--durations-min此参数和–durations边用,表示在–durations-min时间段之内,获取最慢的测例耗时-......
  • 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中一行执行多个命令,命令之......