栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pytest+yaml基础练习

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pytest+yaml基础练习

python有个框架叫unittest,我们曾经学过它的数据驱ddt,通过数据驱动来实现多用例测试,文章链接:Python+unittest+ddt+excel实现多用例自动化测试

鉴于unittest框架比较老,我们学习了pytest框架,文章链接:
Pytest入门学习

今天我们就在前面学习的基础上进一步加深,这期我们学习的是pytest的数据驱动,通过读取yaml文件来实现

先来了解yaml的语法:

大小写敏感
使用缩进表示层级关系
缩进时不允许使用Tab键,只允许使用空格。
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

再了解yaml的方法,safe_load()

safe_load是yaml一个方法,将yaml格式文件转换为python值,起解析作用

首先,安装yaml库,方法是:

pip install pyyaml

或直接在pycharm设置添加pyyaml

然后,新建一个yaml文件,给abc三个参数赋值。这里命名为test_11.yaml

#这是第一条用例数据
-
  - 1
  - 2
  - 3
#这是第二条用例数据
-
  - 2
  - 4
  - 6

接着,新建一个test.py,来执行用例

import pytest
import yaml
#读取上一步的yaml文件
file = open('test_11.yaml', 'r', encoding="utf-8")
@pytest.mark.parametrize("a, b, c", yaml.safe_load(file))
def test_add(a, b, c):
    sum = a + b
    #断言
    assert sum == c

运行下,看看结果

safe_load()使用例子:

import yaml
file = open('test_11.yaml', 'r', encoding="utf-8")
yy=yaml.safe_load(file)
print(yy)

结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/767340.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号