IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> pytest入门基础 -> 正文阅读

[开发测试]pytest入门基础

pytest

基础简介

1、Pytest是一个基于python语言的第三方自动化测试框架,除了功能性测试外,还可以基于python+requests做接口自动化测试

2、pytest通过fixture装饰器实现测试用例的前后置操作

# 前后置函数示例:
@pytest.fixture(scope="moudle")
def check_env():
	print("前置操作")
	a = 333
	yield a
	print ("后置操作")

上面示例中,@pytest.fixture装饰器用于声明函数是一个fixture,当测试函数前包含fixture装饰的函数名时,pytest就会进行相应的搜索,找到对应的函数。在测试函数执行前会先执行相应的前置操作。同时前置函数中可以有返回值,返回值可以用yield返回,也可用return返回,参考下面示例。

# 测试函数示例:
@pytest.mark.userfixtures("check_env")
class TestCheck(object):
	@allure.feature("测试用例示范")
	@allure.feature("测试用例1")
	@allure.severity("严重程度normal")
	@allure.mark.tp_casecode("测试用例ID")
	@allure.testcase("测试用例名称")
	@allure.mark.bvt
	def test_check1(self, check_env):
		"""
		具体的用例可以复制在这展示:
		前置条件
		......
		操作步骤
		1 ......
		2 .......
		期望结果
		1 ......
		2 ......
		"""
		result = check_env # 接收返回的参数,此时result值为333
		with allure.step("步骤1:。。。。。"):
			print("这是步骤1")
			assert ......
		with allure.step("步骤2:。。。。。"):
			print("这是步骤2")
			assert ......

3、 pytest编写相关命名说明

  • py文件名都需要以test_.py格式或者_test.py格式
  • 测试类class需要以Test开头,并且不能带有init方法
  • 测试函数(用例)需要以test_*开头,一个class测试类中可以包含一个或多个测试函数(用例)

4、pytest前后置相关说明
pytest的前后置作用分范围由fixture中scope参数决定,分为session、module、class、function四个级别
function 每一个函数都会被调用一次
class 每一个类调用一次
module 每一个py文件调用一次
session 多个文件调用一次
其中,优先级为:
session > module > class > function
当用例的有多个前置且包含了session、module、class、function四个基本,执行的顺序为:
前置执行顺序:session、module、class、function
后置执行顺序:function、class、module、session

常规使用

1、pytest.main()的使用:

pytest.main(["testCase/test_tpl/test_check_tpl.py::TestTPLBase::test_tpl_name"])

2、pytest运行操作
指定运行模块

pytest -s -v test_check1.py test_check2.py

指定运行函数

pytest -s -v test_check2.py::TestCheckData::test_check

指定运行类

pytest -s -v test_check2.py::TestCheckData

指定运行某个目录

pytest -s -v test/check/

排除某个目录

pytest -s -v /test/check/ --ignore=test1

排除某个目录下的某个文件

pytest -s -v /test/check/ --ignore=test1/test_check1.py

排除多个

pytest -s -v /test/check/ --ignore=test1/test_check1.py --ignore=test1/test_check2.py

3、pytest运行常用参数

--pdb       遇到失败时,转为断点调试
--trace     测试用例一开始就转为断点调试(前置还是会执行,执行完前置后,执行用例时,变为断点调试模式)
--ignore    执行时忽略排除某个用例或文件
-x          出现错误或用例失败时,自动化退出
-m          运行指定标记的用例
-s          关闭Captured stdout call输出信息(失败或成功都不显示输出结果)
-v          输出详细的信息
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 09:38:55  更:2021-08-28 09:40:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:22:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码