zoukankan      html  css  js  c++  java
  • pytest测试框架 -- 简介

    一、pytest测试框架简介:

    (1)pytest是python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效。

    (2)pytest框架可以兼容unittest用例

    (3)支持参数化测试用例的skip和xfail,自动失败重试等处理

    (4)能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appium等自动化测试、接口自动化测试(pytest+requests);

    (5)pytest并且具有很多第三方插件,并且可以自定义扩展,比较好用的比如pytest-allure(完美 html测试报告生成),pytest-xdist(多cpu分发)等;

    (6)可以很好的和jenkins集成

    二、用例编写规则:

    (1)测试文件名必须以“test_”开头或者"_test"结尾(如:test_ab.py)

    (2)测试函数必须以“test_”开头。

    (3)测试类命名以"Test"开头。

    (4)测试类中不能有__init__()构造函数。

    三、pytest安装与依赖

    pip install -U pytest U表示升级

    pip insetall pytest-sugar ( sugar可以对我们运行的过程界面进行美化)

    pip install pytest-rerunfailures( rerunfailures可以重新运行执行出错的测试用例)

    pip install pytest-xdist( xdist多任务并发的执行测试用例)

    pip install pytest-assume( assume可以在测试用例里面添加断言,通常是断言出错了就不执行了,但是通过用这个包,就可以即使这个断言出错了,也可以继续执行下一个断言)

    pip install pytest-html( html可以生成html结果报告)

    pip list 查看已安装模块

    pytest -h 查看帮助

    四、命令行模式执行:

    pytest/py.test  运行该目录下所有以test_开头的.py文件

    pytest -v   (最高级别信息--verbose)打印详细运行日志信息

    pytest -v -s 文件名   (s是带控制台输出结果,也是输出详细运行日志)

    pytest 文件名.py     执行单独一个pytest模块 

    pytest 文件名.py::类名    运行某个模块里面的某个类

    pytest 文件名.py::类名::方法名   运行某个模块里面某个类里面的方法

    pytest -v -k "类名and not方法名"  跳过运行某个测试用例

    pytest --html=report.html   生成html测试报告

    pytest -m[标记名]   @pytest.mark.[标记名]将运行这个有标记的测试用例

    pytest -x 文件名 一旦运行报错就停止运行

    pytest --maxfail=[num] 当运行错误达到num的时候就停止运行(比如冒烟测试,执行多少个失败的用例就打回)

    pytest 文件名 -s  显示print内容

       # 执行该.py文件中所有以Test开头的类,以及test_开头的函数

        # 仅执行TestApi类中的test_login函数

      # 执行test_run.py中除了test_upload外的所有测试类和测试函数

        # 测试文件运行错误达到2次后,便停止运行

        #运行错误后,重复再运行2次,且每次延时2秒(前提:pip install pytest-rerunfailures)

        # 在当前目录下生成report.html测试报告

     五、pycharm中执行:

     

     参考:https://www.cnblogs.com/zhaikunkun/p/12583742.html

  • 相关阅读:
    94. Binary Tree Inorder Traversal
    101. Symmetric Tree
    38. Count and Say
    28. Implement strStr()
    实训团队心得(1)
    探索性测试入门
    LC.278. First Bad Version
    Search in Unknown Sized Sorted Array
    LC.88. Merge Sorted Array
    LC.283.Move Zeroes
  • 原文地址:https://www.cnblogs.com/Maruying/p/13385914.html
Copyright © 2011-2022 走看看