Python 测开28期 - TLF - 学习笔记 - Pytest - 执行测试(命令行方法)

一、Pytest 执行测试方法

  • 界面方式
  • 命令行方式
    使用命令行方式便于随后持续集成(需要将代码部署到服务器或者Jenkins上面),通过命令行驱动,因此需要命令行方式 验证测试脚本编写是否正确 和 执行测试。

二、命令行命令

  • pytest 执行包下所有的用例
  • pytest 文件名.py 执行指定文件
  • pytest 文件名.py::类名 执行指定文件中的特定类
  • pytest 文件名.py::类名::方法名 执行指定文件中的特定类中的特定方法

三、常用参数

  • -m 只执行指定标签标记的方法 / 执行 非指定标签( “not label_name” )标记的方法
  • -v 打印详细日志,展示具体哪一个方法被执行以及执行的结果( pass / fail )
  • -s 打印输出日志( print() 函数对应的字符串信息 )(一般 -vs 一块儿使用)
  • -k 执行 方法名字中 包含/不包含 某个 特定关键字 的测试用例,eg:-k “login” 或 -k “not login”
  • -x 用例一旦失败 ( fail / error ),就立刻停止执行( 常用于:每日构建 / 冒烟测试,对 主体/核心功能 进行验证)
  • –maxfail=num 最大失败数(当失败数达到指定值时,停止执行)
  • –collect-only 只收集不运行,测试平台,pytest 自动导入功能(先把用例收集上来,展示在前台界面,但不运行)
  • –lf 只重新运行上次测试失败的方法
    注意:
    (1)若上一次有测试失败的方法,则本次只运行上次测试失败的方法;
    (2)若上一次测试全部通过,则本次运行所有的方法。
  • –ff 先运行上次测试失败的方法,然后再运行其他的方法

四、运行结果

  • pass 执行通过
  • fail 执行失败
  • error 代码中含语法错误,需要先修改,然后再执行测试
  • warnning 警告,例如:系统未识别用户自定义的标签(参见: Python 测开28期 - TLF - 学习笔记 - Pytest - “标记”测试用例
  • deselect 未选中,例如:系统只执行了特定标签标记的方法,其他测试方法未被选中执行
  • select 被选中,例如:系统执行了特定标签标记的方法