接口自动化: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啦。。
接口自动化:pytest----环境搭建的更多相关文章
- Robot Framework自动化_环境搭建以及第一个用例
Robot Framework自动化_环境搭建以及第一个脚本 培训老师:肖能尤 2016/06/07 课程目的 一.Robot framework 环境搭建以及第一个脚本 课程内容 1 安装前准 ...
- Android自动化测试之环境搭建
Android自动化测试之环境搭建 一.Android-sdk介绍 SDK(Software development kit)软件开发工具包.被软件开发工程师用于为特定的软件包.软件框架.硬件平台. ...
- Windows版Jenkins+SVN+Maven自动化部署环境搭建【转】
前言 因今年公司新产品线较多,为了降低耦合,达到业务分离.重用,提高内部开发效率的目的,采用了基于服务组件.前后端分离的架构体系.与之前传统单应用架构相比,系统部署.配置更加复杂,为了能够频繁地将软件 ...
- 基于Axis1.4的webservice接口开发(环境搭建)
基于Axis1.4的webservice接口开发(环境搭建) 一.环境搭建: 1.搜索关键字“Axis1.4”下载Axis1.4相关的jar包. 下载地址:http://download.csdn.n ...
- Jenkins + Jmeter +Ant自动化集成环境搭建(一)
所需工具 一.jmeter 工具下载 https://jmeter.apache.org/ 配置环境JDK等及各种插件可以看小七之前的教程 二.Ant安装(http://ant.apache.org ...
- jmeter + ant + jenkins 自动化集成环境搭建
所需工具 一.jmeter 工具下载 https://jmeter.apache.org/ 配置环境JDK等及各种插件 二.Ant安装(http://ant.apache.org/) 安装Ant是为 ...
- 使用IDEA写Python之pytest环境搭建及第一个程序编写
一.准备篇 Python环境:3.8.3 开发工具:IDEA,对你没有看错 二.IDEA下安装开发环境 1. python的下载 https://www.python.org/downloads/ P ...
- Appium自动化Android环境搭建
前言: 本系列教程用于个人经验记录,用于他人借鉴,提供一定参考价值.经常会有一种感觉,工具或技术在某一阶段使用比较熟练,过一段时间就可能会遗忘,俗话说好记性不如烂笔头,以此记录. appium简介 ...
- python 3.6 + robotFramework自动化框架 环境搭建、学习笔记
################################################################# #author: 陈月白 #_blogs: http://www.c ...
- 【selenium】- 自动化框架环境搭建
本文由小编根据慕课网视频亲自整理,转载请注明出处和作者. 1. 环境搭建 本课程选用的是selenium + java. 2. java环境的搭建 环境变量配置: 以win10为例,打开控制面板& ...
随机推荐
- CentOS7.X中使用yum安装nginx的方法
nginx官方文档说明:http://nginx.org/en/linux_packages.html#RHEL-CentOS 一.安装前准备: yum install yum-utils 二.添加源 ...
- C#演示如何使用 XML 将源码编入文档
工作闲暇时间,将做工程过程中常用的代码段记录起来,下面的代码是关于C#演示如何使用 XML 将编入文档的代码,希望对大伙有较大帮助. using System; public class SomeCl ...
- sublime text3使用
设置tab键为若干空格 { "tab_size": 4, "translate_tabs_to_spaces": true }
- [C#]将数据写入已存在的excel文件
测试如下(xls/xlsx): //将数据写入已存在Excel public static void writeExcel(string result, string filepath) { //1. ...
- Nginx 常用配置
Nginx的负载均衡方式 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight 指定轮询几率,weight和访问比率成正比,用于后端 ...
- win10搭建svn服务
1,安装服务器版svnhttps://tortoisesvn.net/downloads.html查看版本 svn --version 2,创建版本仓库提倡创建公共仓库,那么可以多次增加项目svnad ...
- shift and算法
1. CF 914F Substrings in a String 大意: 给定一个串s, q个询问, (1)单点修改, (2)询问[l,r]范围内串y的出现次数. shift and算法板子题 #p ...
- 『高性能模型』Roofline Model与深度学习模型的性能分析
转载自知乎:Roofline Model与深度学习模型的性能分析 在真实世界中,任何模型(例如 VGG / MobileNet 等)都必须依赖于具体的计算平台(例如CPU / GPU / ASIC 等 ...
- java的抽象方法为什么不能是static、final、private?
1.java的抽象方法为什么不能用static修饰?类抽象方法? 如上代码,在抽象类中定义static属性是没有问题的,但是定义抽象方法时是不能定义为静态(static)的,否则编译器会报错:The ...
- aggregate基础 使用记录
mongoDB中聚合(aggregate)的具体使用 我们可以用$指定字段来表示选定的document的field,另外可以使用$$ROOT来表示选定的document的所有内容(例如:chosenD ...