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 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> pytes应用基础 -> 正文阅读

[开发测试]pytes应用基础

pytest环境部署

python环境安装成功后
pip install pytest

  1. pytest默认规则时读取所有以test开头的文件夹和文件。
  2. fixture是pytest中的一大利器。
  3. 断言机制:assert。
  4. pip pytest-html 安装html测试报告

pytest命令

  • pytest默认寻找当前路径下所有的文件与子文件夹中以test开头的文件夹、文件、函数作为识别对象。
  • pytest默认不输出任何打印信息,如果要有打印信息,需要在运行时加-s的指令,多条指令同运行时,在main函数中,通过,进行分割。
    -s 打印信息
    -v 用于详细显示日志信息
    -rA 测试结果简单统计
    -m 分类执行
if __name__=='__main__':
	pytest.main(['-s','-v'])

预置函数(用于前期的数据准备)

  • 一般可以通过一个配置文件进行管理:配置文件命名一定要是conftest.py,不能是其他的。
  • scope参数定义了4种等级
    session:在本次session级别中只执行一次。
    module:在模块级别中只执行一次。
    class:在类级别中只执行一次。
    function:在函数级别中执行一次。
    默认等级是function

conftest.py(配置文件的文件名)

@pytest.fixture(scope='calss')
def A():

测试函数传参A
测试函数
def test_case(A)

前置与后置条件

类外的前置后置条件

函数级别的前置条件和后置条件
def setup_function():
	print('前置条件')
def teardown_function():
	print('后置条件')
模块级别的前置条件和后置条件
def setup_module():
	print('模块前置条件')
def teardown_module():
	print('模块后置条件')

类内的前置后置条件

pytest中calss对象的定义:建议以test开头

class TestDemo:
	def test_d1(self):
		print('执行类的函数1')
	def test_d2(self):
		print('执行类的函数2')
	def setup(self):
		print('类内函数前置条件')
	def teardown(self):
		print('类内函数后置条件')
	def setup_class(self):
		print('类内class级别前置条件')
	def teardown_class(self):
		print('类内class级别后置条件')
	def setup_method(self):
		print('类内method级别前置条件')
	def teardown_method(self):
		print('类内method级别后置条件')

在class中前置后置函数的运行顺序等级:
setup class
setup method
setup
teardowm
teardown method
teardown class

测试用例管理手段Mark

可以通过mark装饰器对所有的用例进行标记,不同的标记区分进行管理

@pytest.mark.标签名(英文)
测试用例代码


执行命令
pytest -s	test_case.py -m 标签名


运行多个标签的测试用例
pytest -m "p1 or p2" 运行有p1标签或者p2标签的用例
pytest -m "p1 and p2" 运行有p1标签并且有p2标签的用例
pytest -m "not p2" 运行有除了p2标签以外的用例
pytest -m "p1 and not p2" 运行有p1标签并且没有p2标签的用例

注意-m命令后面不能带’ '号(单引号),只能带" "号(双引号),不然识别不了。

pytest框架下的核心配置文件

配置在工程的根路径下,可以全局生效,文件名pytest.ini,可以定义各种pytest的运行规则。
仅使用@pytest.mark.标签名,会有warning提示,加上配置文件,可以消除warning提示。

[pytest]
#声明定义标签名
markers =
	webui : automation for webui
	interface : automation for information
	temp : just for fun
	
#定义读取识别对象的文件名规范,多个文件名之间空格隔开
python_files = cema*.py test*.py

#定义读取识别类(class对象)的命名规范
python_classes = cema*

#制定一个特定的路径去运行
testpaths = test_demo

#定义读取函数的指定名称
python_functions = vip*

#运行时增加的默认指令
addopts = -s -v --html =./report/report.html --self-contained-html

断言机制:assert

assert 条件语句 ,‘报错信息’

测试报告

pytest-html

#html报告命令
--html =./report/report.html --self-contained-html

#html后面都有一个空格,上面命令中有两处
#终端命令,命令后面加--self***一串命令为将报告内容和html格式合为一个文件,不加的话,还会有一个html格式文件
pytest --html =./report/report.html --self-contained-html
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-07-26 12:21:12  更:2021-07-26 12:21:59 
 
开发: 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 20:32:39-

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