zoukankan      html  css  js  c++  java
  • 接口自动化: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啦。。

  • 相关阅读:
    Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.
    用户画像——“打标签”
    python replace函数替换无效问题
    python向mysql插入数据一直报TypeError: must be real number,not str
    《亿级用户下的新浪微博平台架构》读后感
    【2-10】标准 2 维表问题
    【2-8】集合划分问题(给定要分成几个集合)
    【2-7】集合划分问题
    【2-6】排列的字典序问题
    【2-5】有重复元素的排列问题
  • 原文地址:https://www.cnblogs.com/cudy/p/10478700.html
Copyright © 2011-2022 走看看