前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pytest入门 -8 参数化、YAML介绍

pytest入门 -8 参数化、YAML介绍

作者头像
孟船长
发布2022-02-23 16:45:47
1.2K0
发布2022-02-23 16:45:47
举报

1、@pytest.mark.parametrize()基本用法

@pytest.mark.parametrize(args_name, args_value) args_name:参数名,用于将参数值传递给函数/方法 args_value:参数值(列表、元组、字典列表、字典元组)有多少值用例就会执行多少次。当参数值为字典等其他非字符串类型时,需要转换成字符串类型。

最基本的用法:

例1

执行用例:

例2:列表中含字典

执行结果:

例3:多参数

执行结果:

2、yaml格式测试用例读写

大家应该记得,fixture有一个params参数,可以进行用例传参,但是fixture更倾向于前后置操作,而yaml更多用于实现参数化

yaml是一种数据格式,扩展名可以是.yaml.yml,支持#注释,通过缩进表示层级,且区分大小写。

用途:

1、做配置文件;2、编写自动化测试用例

数据组成

1、字典,即Key-Value键值对【注意冒号后面要加空格】

2、列表,使用-表示

使用前确认你已经安装了PyYAML

例如:

我们先在user_manage文件夹新建get_token.yaml文件,然后在common文件夹新建yaml_util.py文件

get_token.yaml文件内容:

yaml_util.py文件内容

【说明】

我们在做持续集成的时候,目录是不能写死的,不然一旦项目位置发生改动,代码就会集体报错。所以我先写的read_yaml方法,打开文件时需要穿路径,然后我在上面写了个获取项目根目录的方法,因为当前文件已经知道是在common目录下,所以我调用split方法,取第一个值,这样获得的就是根目录了。然后具体路径写上去的。读取的方法就是yaml.load(),后面Loader表示全部加载。最后打印了一下方法执行结果。

执行结果:

我们再把get_token.yaml文件内容改为:

执行结果:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-02-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自动化测试实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档