【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 ...
随机推荐
- python matrix转list
a = [[1,2],[3,4]] a = np.mat(a) print(a.getA().tolist())
- Nuxt.js vue服务端渲染
一.为什么要用Nuxt.js 原因其实不用多说,就是利用Nuxt.js的服务端渲染能力来解决Vue项目的SEO问题. 二.Nuxt.js和纯Vue项目的简单对比 1. build后目标产物不同 vue ...
- python文件处理之fileinput
一.介绍 fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作,我们常用的open函数是对一个文件进行读写操作. fileinput模块的input()函数比open函数更高效和好用 ...
- DataTable.SELECT日期类型筛选处理
初始化: public DataTable1() { InitializeComponent(); Init(); } private void Init() { dt = new DataTable ...
- 攻防世界 reverse tt3441810
tt3441810 tinyctf-2014 附件给了一堆数据,将十六进制数据部分提取出来, flag应该隐藏在里面,(这算啥子re,) 保留可显示字符,然后去除填充字符(找规律 0.0) 处理脚本: ...
- Rust 内置 trait :PartialEq 和 Eq
GitHub: https://github.com/storagezhang Emai: debugzhang@163.com 华为云社区: https://bbs.huaweicloud.com/ ...
- 彻底搞清Flink中的Window
窗口 在流处理应用中,数据是连续不断的,因此我们不可能等到所有数据都到了才开始处理.当然我们可以每来一个消息就处理一次,但是有时我们需要做一些聚合类的处理,例如:在过去的1分钟内有多少用户点击了我们的 ...
- 生产中常用的获取IP地址方法的总结
从ifconfig命令的结果中筛选出除了lo网卡之外的所有IPv4地址 centos7 (1)ifconfig | awk '/inet / && !($2 ~ /^127/){pri ...
- 带你全面认识CMMI V2.0(三)——实践域
实践域以往被称为称为"过程域",如:配置管理,现在叫做"实践域".对于2.0版,则有25个适用的实践域.与以前版本的CMMI模型一样,"实践域&quo ...
- Android Studio的基本开发环境,配置阿里云源
原创文章,转发请注明出处. 安装Android Studio 安装文件下载地址:https://developer.android.google.cn/studio/ 下载Gradle 由于国内的网络 ...