【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?

一、大家熟知的自动化测试框架
Java
JUnit、TestNG等等。
python
PyUnit(unittest)、Pytest、Robot Framework等等
二、Pytest介绍
- pytest 是非常成熟全功能的Python测试框架。
- 它可以胜任unittest能做到的各种各样场景,比如:单元测试、web测试、app测试、接口测试等等。
- pytest是个插件化的平台,它比unittest更强大也在于此。目前已经有大量第三方插件扩展和增强它的功能
- 你可以根据自己需求,定制化开发出自己的插件
- 可以很好的和CI工具进行结合
三、Pytest优点
- 简单灵活,容易上手
- 支持参数化
- 能够支持简单的单元测试和以及一些复杂的功能测试,也可以用来做web、app、接口(Selenium/Appnium/Requests)等自动化测试
- pytest有很多第三方插件,并且可以进行自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-rerunfailures(失败case重复执行)、pytest-html(完美html测试报告生成)、pytest-xdist(多CPU分发)等
- 测试用例的skip和xfail处理
- 可以很好的和Jenkins集成
- report框架----allure 也支持了pytest
- 断言方式简单便捷
四、pytest与unittest区别

五、Pytest功能介绍
1.Fixture:

2.mark:


3.assert断言:
assert xx---判断xx为真
assert not xx ---判断xx不为真
assert a in b---判断b包含a
assert a == b---判断a等于b
assert a !=b ---判断a不等于b
等等
4.其他功能:
pytest.xfail()
pytest.exit()
pytest.skip()
pytest.skipif()
六、Pytest架构运行流程

七、应用场景
接口自动化
web自动化
UI自动化
等等

八、Pytest使用
1.自动化用例编写

2.执行脚本:
1. 命令行中执行用例:

2.IDE中执行用例:

更多功能使用请查看pytest官网:
https://docs.pytest.org/en/latest/contents.html
自动化测试框架实战
接口自动化测试框架:
python+request+pytest+allure:https://www.cnblogs.com/upstudy/p/15921045.html
【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?的更多相关文章
- iOS自动化探索(四)自动化测试框架pytest - 安装和使用
自动化测试框架 - pytest pytest是Python最流行的单元测试框架之一, 帮助更便捷的编写测试脚本, 并支持多种功能复杂的测试场景, 能用来做app测试也能用作函数测试 官方文档: ht ...
- python3: 自动化测试框架pytest
最近在学习web自动化,所以在这里总结一下pytest框架. 其实pytest 和 unittest 都是自动化测试框架,但是pytest更好用一些,有以下几个优点:1)可以根据标签执行用例:2)?? ...
- 自动化测试框架 hierarchyViewer、Uiautomator、Appium的区别比较!
一.HierarchyViewer: 优点:1)能够可视化的角度直观地获得UI布局设计结构和各种属性的信息 2)使用hierarchyviewer.bat来检索手机界面布局 缺点:1)稳定性差,出现过 ...
- Python接口自动化测试框架: pytest+allure+jsonpath+requests+excel实现的接口自动化测试框架(学习成果)
废话 最近在自己学习接口自动化测试,这里也算是完成一个小的成果,欢迎大家交流指出不合适的地方,源码在文末 问题 整体代码结构优化未实现,导致最终测试时间变长,其他工具单接口测试只需要39ms,该框架中 ...
- iOS自动化探索(七)自动化测试框架pytest - 测试报告
这里我们单独来看下关于如何生存测试报告 准备测试代码如下: #coding: utf- import pytest @pytest.fixture() def login(): print '输入账号 ...
- iOS自动化探索(六)自动化测试框架pytest - fixtures
Fixture介绍 fixture是pytest特有的功能,它用pytest.fixture标识,定义在函数前面.在编写测试函数的时候,可以将此函数名称做为传入参数,pytest将会以依赖注入方式,将 ...
- iOS自动化探索(五)自动化测试框架pytest - Assert断言的使用
使用assert语句进行断言 pytest允许使用标准的python assert语法,用来校验expectation and value是否一致 代码演示: def func(): def test ...
- 【转】自动化测试框架: pytest&allure ,提高自动化健壮性和稳定性
序 在之前,我写过一个系列“从零开始搭建一个简单的ui自动化测试框架(pytest+selenium+allure)”,在这个系列里,主要介绍了如何从零开始去搭建一个可用的自动化工程框架,但是还缺乏了 ...
- 广深小龙-基于unittest、pytest自动化测试框架之demo来学习啦!!!
基于unittest.pytest自动化测试框架之demo,赶紧用起来,一起学习吧! demo分为两个框架:①pytest ②unittest demo 中 包含 web.api 自动化测试框架 ...
随机推荐
- vue注册全局组件
在项目开发中能不能自己写一个组件可以像iview或者element那样可以不必引用就可以直接用呢?答案是可以的. 首先,写一个组件mainHeader. 接着在vue中注册这个组件,代码如下: Vue ...
- 51 Nod 1006 最长公共子序列(LCS & DP)
原题链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1006 题目分析: 首先先知道LCS问题,这有两种: Long ...
- HDU 1312 Red and Black (DFS & BFS)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 题目大意:有一间矩形房屋,地上铺了红.黑两种颜色的方形瓷砖.你站在其中一块黑色的瓷砖上,只能向相 ...
- 《剑指offer》面试题14- II. 剪绳子 II
问题描述 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m.n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m] .请问 k[0]*k[1]* ...
- JUC之阻塞队列(BlockingQueue)基础
阻塞队列 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列.这两个附加的操作支持阻塞的插入和移除方法. 阻塞队列常用于生产者和消费者的场景: 当队列为空的,从队列中获取元素的操作将会 ...
- 加深对AQS原理的理解示例一:实现一个独占锁
/** *@Desc * 这个自定义的独占锁 只是一个简单的版本,非常粗糙,只为了加深对AQS原理理解.但还有一些列问题有待解决,比如锁的重入,锁不允许被其他线程中断等! *@Author zhang ...
- SQL查询字段,起别名,列参与数学运算
13.简单查询 13.1.查询一个字段? select 字段名 from 表名: 其中要注意: select和from都是关键字 字段名和表名都是标识符. 强调: 对于SQL语句说,是通用的 所有的S ...
- 简单socket服务器编程
package socket; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; ...
- Windows mysql免安装版配置。(版本号-5.6.45);
Windows mysql免安装版配置.(版本号-5.6.45); 来自对 https://blog.csdn.net/weixin_42831477/article/details/81325691 ...
- @ResponeBody 和 @RequestBody
一.补充注解?1.@ResponseBody 将数据转成json 并输出到响应流中2.@RequestBody 将请求中的json数据转换成java对象.1.1 jsp页面 增添两个点击事件. 1.2 ...