zoukankan      html  css  js  c++  java
  • Pytest 操作

    pytest各种自动化测试用例的代码

    官方文档给出了pytest寻找测试项(也就是测试用例)的具体规则:

    · 如果为指定命令行参数,则从testpath(如果已配置)或当前目录开始收集。

      如果命令行参数,指定了目录,文件名或 node id 的任何组合,则按参数来找

    · 寻找过程会递归到目录中,除非它们匹配上 norecursedirs.

    · 在这些目录中,搜索由其测试包名导入的 test_*.py或*_test.py文件。

    · 从这些文件中,收集如下测试项:

      · test为前缀的函数

      · Test(注意类为大写T)为前缀的类 里面的test为前缀的方法

    示例:

    首先,我们编写的测试用例代码文件,必须test_开头,或者以_test结尾(pytest 会根据命令 来识别哪些是自动化测试用例)

    比如,创建一个文件名为 test_错误登录.py, 放在目录autotestcaseslogin 下

    其中 autotest 是创建的自动化项目根目录

    代码:

    class Test_ercode:

    def test_C001001(self):
    print(' 用例C001001')
    assert 1 == 1

    def test_C001002(self):
    print(' 用例C001002')
    assert 2 == 2

    def test_C001003(self):
    print(' 用例C001003')
    assert 3 == 2

    项目命令行运行 pytest  查看结果

     显示找到3个测试项,2个执行通过,一个不通过。

    通过用例是用一个绿色小的表示, 不通过的检查点 显示代码细节

    用例代码中有些打印语句没有显示内容。

    因为pytes会 截获print打印内容

    如果要显示print内容,可以加上 命令行参数 -s  如: pytest -s

    如果要得到更详细的执行信息, 包括每个测试类,测试函数名字,可以加上-v 这个参数可以和-s 合并

    如:pytest -sv   (详细内容)

     产生报告

    测试报告需要一个 pytest-html插件 是用来产生测试报告的

    下载:pip install pytest-html

    要产生报告,在命令行加上参数 --html=report.html(自己命名的heml文件) --self-contained-html 如下:

    pytest --html=report.html --self-contained-html

    这样就会产生名为report.html的测试报告文件,可再浏览器打开

    注意:工具有个bug,导致测试目录,文件名,类名中 ,如果有中文,显示为乱码

    修复:

      打开插件对应的代码文件,通常在解析器目录下: site-packagespytest_htmlplugin.py

      找到代码:

    报告展示

     

        

  • 相关阅读:
    Python3+Flask安装使用教程
    Linux getopt/getopts解析命令行参数教程
    Python3+unittest使用教程
    Python3+slowloris安装使用教程
    pytest pluggy.manager.PluginValidationError: unknown hook 'pytest_namespace'报错处理办法
    Python3+Django get/post请求实现教程
    Jenkins安装使用教程
    安全基线自动化扫描、生成报告、加固的实现(以Tomcat为例)
    Scratch安装使用教程
    从安装Mac OS X虚拟机到第一个IOS程序
  • 原文地址:https://www.cnblogs.com/sunzzc/p/13284239.html
Copyright © 2011-2022 走看看