接口自动化: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为例,打开控制面板& ...
随机推荐
- glom初级教程
1.glom介绍 通常对于字典和json的提取我们都是使用如下方式 >>> data = {'a': {'b': {'c': 'd'}}} >>> data['a' ...
- C# 在类中使用Timer定时器以及延时处理的方法
我们平时在C#中要用到定时功能时,有自带定时器,一般在定时器里面写函数就行了,现在需要在类里面写了一个定时器,不和界面绑定,一开始的时候感觉没什么思路,然后看了一下界面的设计代码,有了思路,还是很简单 ...
- 自身使用的springboot项目中比较全的pom.xml
在学习的时候常建新的项目,mark下商用的jar <dependency> <groupId>org.mybatis</groupId> <artifactI ...
- hyperledger fabric相关记录
打开对接监控软件(statsd或者prometheus)开关 每个peer上 CORE_OPERATIONS_LISTENADDRESS=peer0.orgxxxxxxxxx:9443 CORE_ME ...
- Oracle中国移动经典面试题(附代码跟两种答案)
/*中国移动sql面试题: create table test( id number(10) primary key, type number(10) , t_id number(10), ...
- 获取的输入内容,没有被P标签包裹的文本和元素进行处理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- SWUST OJ(1038)
顺序表中重复数据的删除 #include <iostream> #include <cstdlib> using namespace std; int main() { int ...
- hadoop知识点总结
(一).hadoop的内置数据类型都实现了writablecompareable,以便序列化和网络传输及文件存储 a自定义数据类型作为输入 1.实现writable接口 2.如果给数据需要比较大小时, ...
- Bootstrap4 导航栏
Bootstrap4 导航栏 目录 Bootstrap4 导航栏 动态选项卡 标准的导航栏 导航对齐方式 导航栏的组成 ul 元素中包含navbar-nav 类 表示导航栏中ul li元素中包含nav ...
- ASP.NET MVC 目录介绍