【Tavern】1.tavern测试框架介绍

1. Tavern 和 Postman
Tavern是一个用Python实现的接口自动化测试工具,支持RESTful API 和MQTT。
和Postman相比,有以下优点:
- 使用yaml的描述测试用例,简单、清晰、直观,特别是对于非开发人员而言
- 与pytest无缝集成,可用pytest的强大功能和各种插件
- 功能齐全的Python环境,允许你轻松编写各种自定义断言
- 支持对MQTT系统测试
也一些劣势:
- 没有GUI
- 没有API monitoring
- 没有Mock Server
这是因为tavern只专注做好一件事:API自动化测试,其他事情应当交给专业的工具去做(在Python世界中,有足够多的专业工具)
实际上,Tavern有三种使用方式,以适用于不同的技术基础、应用场景,分别是:
作为pytest插件使用
作为命令行工具使用
作为python库使用
其内部使用pytest、requests等知名python自动化测试工具,
如果你对这些工具有经验,使用tavern非常容易,
如果没有经验,也可以借此进行了解,为日后自定义测试框架打好基础
本系列文章将介绍第一种,也就是最容易上手的方式,无论你是否拥有Python经验,都能够快速实现接口自动化测试
2. 安装Python
首先你应该一个python环境,如果没有的话下载下面两个安装包,默认安装即可:
Python 3.9.5: https://www.python.org/downloads/release/python-395/
PyCharm 2021.1.1: https://www.jetbrains.com/pycharm/download/#section=windows
(这个系列是“用Python”而不是“讲Python”,如果你是Python新手,可以私信我,另有Python资料 )
3. 安装Tavern
当你安装好Python环境后,只需要执行一个命令即可安装
pip install tavern


4. 第一个测试用例
安装好之后,我们通过第一个测试用例可以来体验一下
创建一个yaml文件,文件名为
test_sanmu.tavern.yaml,并写入以下内容
执行命令
pytest
测试通过,撒花~~
关于用例文件的格式和解释,在下一篇文章进行介绍
【Tavern】1.tavern测试框架介绍的更多相关文章
- python pytest测试框架介绍二
在介绍一中简单介绍了pytest的安装和简单使用,接下来我们就要实际了解pytest了 一.pytest的用例发现规则 pytest可以在不同的函数.包中发现用例,发现的规则如下 文件名以test_开 ...
- spring boot应用测试框架介绍
一.spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit.spring test.assertj.hamcres ...
- 【转】Java学习---10个测试框架介绍
[原文]https://www.toutiao.com/i6594302925458113027/ JAVA 程序员需要用到 10 个测试框架和库 Java 程序员需要用到十大单元测试和自动化集成测试 ...
- 【pytest系列】- pytest测试框架介绍与运行
如果想从头学起pytest,可以去看看这个系列的文章! https://www.cnblogs.com/miki-peng/category/1960108.html 前言 目前有两种纯测试的测 ...
- 『德不孤』Pytest框架 — 1、Pytest测试框架介绍
目录 1.什么是单元测试框架 2.单元测试框架主要做什么 3.单元测试框架和自动化测试框架有什么关系 4.Pytest测试框架说明 5.Pytest框架和Unittest框架区别 (1)Unittes ...
- python pytest测试框架介绍三
之前介绍了pytest以xUnit形式来写用例,下面来介绍pytest特有的方式来写用例 1.pytest fixture实例1 代码如下 from __future__ import print_f ...
- MySQL Test Run 测试框架介绍
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 介绍 MySQL Test Run 简称MTR,是MySQL官方提供的自动化测试框架,执行脚本在发布路径的mysql-te ...
- python pytest测试框架介绍四----pytest-html插件html带错误截图及失败重测机制
一.html报告错误截图 这次介绍pytest第三方插件pytest-html 这里不介绍怎么使用,因为怎么使用网上已经很多了,这里给个地址给大家参考,pytest-html生成html报告 今天在这 ...
- 自动化测试===Httprunner测试框架介绍
项目地址: https://github.com/HttpRunner/HttpRunner 中文手册: http://cn.httprunner.org/ 首先是环境搭建: pip install ...
随机推荐
- 「NOIP模拟赛」Round 3
Tag 计数+LIS, 二分+ST表, 计数+记搜 A. 改造二叉树 Description 题面 Solution 如果目标序列非严格递增,或者说目标序列是不下降的,那么答案就是 \(n\) 减去最 ...
- golang 微服务以及相关web框架
golang 中国gocn golang Applicable to all database connection pools xorm是一个简单而强大的Go语言ORM库,通过它可以使数据库操作非常 ...
- python-for表达式
for表达式用于其他区间,元组,列表等可迭代对象创建新的列表 [表达式 for 循环计数器 in 可迭代对象] for表达式与普通for循环的区别有两点 在for关键字之前定义一个表达式,该表达式通常 ...
- python类属性
类属性 类属性分为共有属性和私有属性. 私有属性的定义方法eg:__age(若无次定义则默认为公有属性) 类属性举例: class people: name = "china" _ ...
- 利用flex解决input定位的问题
用简单的布局搞定input框使用fixed下输入的问题 最近在做移动端H5聊天应用发现,当input框在最底部并且使用 position:fixed 属性的时候在苹果手机中会出现不兼容的情况
- 竖式问题(JAVA语言)
package 第三章; import java.util.Scanner; public class 竖式问题 { public static void main(String[] args) { ...
- PTA 中序输出度为2的结点
6-10 中序输出度为2的结点 (10 分) 本题要求实现一个函数,按照中序遍历的顺序输出给定二叉树中度为2的结点. 函数接口定义: void InorderPrintNodes( BiTree ...
- 「HTML+CSS」--自定义按钮样式【002】
前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...
- 自动获取IMC系统所有网络设备资产信息
1 #coding=utf8 2 3 """ 4 CMDB接口调用 5 """ 6 import csv 7 import json 8 i ...
- 给Nginx配置日志格式和调整日期格式
效果对比 官方默认日志格式 # 官方默认日志格式 log_format main '$server_name $remote_addr - $remote_user [$time_local] &qu ...