• 接口自动化:pytest----环境搭建


    出处:https://www.cnblogs.com/yoyoketang/p/9356693.html

    前言:

    python鄙视链:pytest 鄙视 > unittest 鄙视 > robotframework 鄙视 > 记流水账 鄙视 > "hello world"小白

    所以,让我们一起学习pytest吧。

    pytest简介:

    pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它具有如下特点:

    • 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
    • 能够支持简单的单元测试和复杂的功能测试
    • 支持参数化
    • 执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的case标记成失败
    • 支持重复执行(rerun)失败的case
    • 支持运行由nose, unittest编写的测试case
    • 可生成html报告
    • 方便的和持续集成工具jenkins集成
    • 可支持执行部分用例
    • 具有很多第三方插件,并且可以自定义扩展

    一、pytest安装:

    1. pip install -U pytest

    2.  pip show pytest查看安装版本

     

    3.  也可以pytest -version查看安装的版本

    二、快速入手

    ----运行第一个简单的函数

    ok,如上环境安装成功了。下面通过具体的案例来入手吧。我们先编写一个简单的函数,通过pytest执行或者pytest -q 脚本名,指定脚本来执行。

    从上面的截图可以看出,第一个执行断言失败,第二个执行断言成功。

    ----运行多个函数

     在一个包中,或者说一个模块的文件中,它是有多个文件的,比如一个包中,pytest它是执行多个以test开头的模块脚本,我们先来看这种情况,在一个包中定义两个模块脚本,分别是test_first.py和test_second.py,如下图:

    ----运行类中的函数

    通过执行pytest可以执行模块中的函数或者类中的方法,那么我们就来实现执行类中的测试函数,如下图:

     -------踩坑了。在之后的学习中,发现test_class.py这个脚本中的类函数无法使用setup_class和teardown_class。原因是以上的代码其实是unittest的脚本,搞混了。下面更改一个pytest调用类函数的脚本。

    三、总结

    通过以上的三个练习,我们大致了解pytest的用例规则了吧。

    1. 测试脚本名以test_开头(或以_test结尾也可以)

    2. 测试脚本中若是执行函数,以test_开头

    3. 测试脚本中若是执行一个类中的函数,测试类以Test开头,并且不能带有init方法

    4. 断言使用assert

    5. 执行文件下所有的测试脚本,命令为pytest【cd到对应文件下执行】     或者    pytest 文件名/

    6. 执行文件下指定的测试脚本,命令为pytest -q 指定测试脚本名称【cd到对应文件下执行】    或者    pytest  文件名/脚本名

     敲黑板:

    pytest -s 脚本名     用例执行详细情况

    pytest -x 脚本名     遇到错误时停止测试

    pytest --maxfail= num    当用例错误个数达到指定数量时,停止测试

    pytest -h    查看pytest帮助

    ok啦。。

  • 相关阅读:
    nose测试中修改nose_html_reporting插件,使生成的html报告加入显示截图功能
    python selenium中等待元素出现及等待元素消失操作
    在python pydev中使用todo标注任务
    云存储命令行工具---libs3
    关于qt creator各种假死的问题
    小端存储转大端存储 & 大端存储转小端存储
    C++判断计算式是大端存储模式,还是小端存储模式
    请教网友:#pragma pack(push) #pragma pack(pop)无效
    sizeof 计算 struct 占字节数的方法总结
    const 变量在多个文件共享,如何验证两种不同的方式下,编译器是否会在多个文件下建立多个副本
  • 原文地址:https://www.cnblogs.com/cudy/p/10478700.html
Copyright © 2020-2023  润新知