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

  • 相关阅读:
    SmartJS 第一期(0.1)发布
    smartJS 0.1 API 讲解
    smartJS 0.1 API 讲解
    20160113006 asp.net实现ftp上传代码(解决大文件上传问题)
    20151224001 GridView 多按钮的各种使用方法
    20151221001 GridView 模板
    20151218001 雕爷自白:我为什么非要这么干
    20151210001 DataGridView 选中与被选中
    20151126001 网页中嵌入谷歌动态地图
    20151125001 询问对话框 中的文字换行
  • 原文地址:https://www.cnblogs.com/Maruying/p/13385914.html
Copyright © 2011-2022 走看看