前言为了提高代码的复用性,我在写用例的时候,会用到函数,然后不用的用例去调用这个函数比如登录操作,大部分的用例都会先登录,那就需要把登录单独用函数写出来,其他用例全部的调用这个登录函数就行但是登录的账号不能写死,有时候我想用账号1去登录,执行用例1,用账号2登录执行用例2,所以需要对应的传参去完成登录一、登录函数传参把登录单独拿出来,写一个函数,传2个参数user和pwd,输入几组user,输入几
转载
2024-04-03 13:10:20
124阅读
一.使用.yaml格式的文件直接可以存放字典类型数据,如下图,其中如果有-下一行有缩进代表这是个list,截图中是整体是一个list,其中有两部分,第二部分又包含另外一个list二.单元测试:开发自己测试自己写的代码,居于单元测试,就产生了unittest模块,该模块可以查找用例,执行用例,校验结果,产生报告2.1 首先需要在环境变量中导入HTMLTestRunner.py文件,环境变量位置Ext
转载
2024-06-04 23:14:09
161阅读
一、parametrize介绍参数化的目的是为了使测试用例代码与测试数据进行分离,这样,测试人员只需要维护测试数据,而不用更改代码。pytest模块给我们提供了专门用来参数化的装饰器:@pytest.mark.parametrize() 。使用规则:@pytest.mark.parametrize(argnames, argvalues, indirect=False, ids=None,
sco
转载
2024-02-13 12:41:41
304阅读
# Pytest 读取YAML文件
## 概述
在进行自动化测试时,经常需要读取配置文件来提供测试数据或参数。YAML文件是一种常用的配置文件格式,而Pytest是一个流行的Python测试框架。本文将介绍如何使用Pytest读取YAML文件,以便在测试中使用配置数据。
### 流程
下表展示了使用Pytest读取YAML文件的整个流程:
| 步骤 | 操作
原创
2024-04-30 11:49:42
130阅读
1.yaml(1)yaml简介YAML是一种数据类型,它可以和json之间灵活的切换,支持注释、换行、字符串。YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便。(2)语法大小写敏感使用缩进表示层级关系缩进不允许使用tab,只允许空格缩进的空格数不重要,只要相同层级的元素左对齐即可'#'表示注释(3)YAML 支持以下几种数据类型
对象:键值对的集合,又称为映射(map
转载
2024-05-08 15:41:00
438阅读
一、在实际的测试工作中,通常需要对多组不同的输入数据,进行同样的测试操作步骤,以验证我们的软件。这种测试在功能测试中非常耗费人力物力,但是在自动化中,却比较好实现,只要实现了测试操作步骤,然后将多组测试数据以数据驱动的形式注入,就可以实现了,前面学习了参数化,当数据量非常大的时候,我们可以将数据存放到外部文件中,使用的时候将文件中的数据读取出来,方便测试数据的管理,数据与测试用例分别管理,可以利用
转载
2024-07-03 20:36:26
90阅读
1.parametrize()实现数据驱动1.1 方法参数详解@pytest.mark.parametrize(arg_name, arg_value)
arg_name:参数名称,用于将参数值传递给测试用例
arg_value:参数值(支持列表、字典列表、元组和字典元组),有n个值,那么测试用例就将执行n次1.2用法详解1.2.1 直接传值@pytest.mark.parametrize("mo
转载
2024-08-14 20:58:28
109阅读
在pytest中,当我们要对一个参数进行枚举校验时,就可以用pytest参数化。
1、首先将测试Py 文件与测试数据分离,即在py中写代码,测试数据写在yaml文件中
2、yaml文件
(1)首先要安装:pip install pyyaml
(2)然后建立一个yaml文件来存储数据(yaml的语法可自己学习,相当于字典的键值对。)3、写一个读取yaml文件的函数,将PY文件与yaml文件关联起来
转载
2023-10-08 19:06:34
1332阅读
哈喽大家好,我是歪小王。上期内容我们说了requests与封装的好处。本期就接口自动化中另外一个重要成员--yaml数据,做一个简单介绍。01 简介yaml是一种文件类型,往细了说,是一种通用的数据序列化格式;它与python中的字典数据类型大致相同。也是遵循key=value(键值对形式)的方式进行数据存储。以下是度娘简介:YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来
转载
2024-06-09 07:50:54
75阅读
# 前言 针对小伙伴提出参数化时读取外部文件,在项目根路径运行没问题,但是进入到项目下子文件夹运行用例,就会找不到文件问题做了优化。 关于参数化读取外部文件相关内容参考前面这篇[pytest + yaml 框架 -25.参数化数据支持读取外部文件txt/csv/json/yaml](pytest +
原创
2023-06-10 00:56:22
150阅读
之前我们的框架中,如果有多个测试用例,则需要在yaml文件中写入多个用例,而每个用例可能不同的仅仅只是个别参数值,这就导致很多重复代码,现在我们使用数据驱动就可以解决这个问题了。我依旧采用之前的登录接口为例,简单记录一下数据驱动封装的全过程一、DDT数据驱动yaml文件在根目录下创建包datas,用来存放我们的数据驱动yaml文件,在datas下新建一个get_token_data.yaml文件,
转载
2024-04-15 14:47:51
465阅读
概述大家都知道 pytest 的插件一般以 pytest- 作为前缀,在 pypi 搜索 pytest-yaml,可以搜到下面三个插件:pytest-yamlpytest-yaml-yoyopytest-yaml-sanmu第一个插件较为简单,读取指定 yaml 文件的内容,并保存到 fixture 中,并且自 2018 年后不再更新第二个插件较为复杂,甚至有些超越【
转载
2024-06-06 19:46:42
109阅读
#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :Pytest @File :read_data.py@IDE :PyCharm @Author :zhou@Date :2022/8/6 19:05 """import yaml# 获取文件f = open("../config/data.yaml", encoding="utf-8
原创
2022-08-06 19:12:10
717阅读
数据驱动:数据的改变从而驱动自动化测试用例的执行,最终引起测试结果的改变。简单说就是参数化的应用。测试驱动在自动化测试中的应用场景:测试步骤的数据驱动;测试数据的数据驱动;配置的数据驱动;1、pytest结合数据驱动-yaml实现读yaml文件,先创建env.yml文件配置测试数据工程目录结构:data目录:存放yaml文件-
dev: 127.0.0.1
#dev: 127.0.0.2
转载
2023-09-10 14:27:08
209阅读
yaml简介yaml : Yet Another Markup Language :另一种标记语言。yaml 是专门用来写配置文件的语言,非常简洁和强大,更直观,更方便,有点类似于json格式。在自动化测试用的相当多,所以需要小伙伴们要熟练掌握,把测试数据存放在yaml文件,也可以进行参数化。yaml基本语法规则:大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键,只允许使用空格。缩进的空格数
转载
2024-03-25 10:57:46
97阅读
一、使用背景当我们在设计用例的时候,经常会出现需要不同参数的情况,例如一个登录的用例,我们需要测试它登录名正常、为空、长度过长、过短、特殊字符等情况,因此就需要有不同情况下的参数,而当这些参数过多时,我们如果要一步一步的输入,便会显得有点繁琐,因此就需要有参数化的概念。这里用到pytest里的parametrize+yaml来实现参数化。 二、parametrize首先我们需要知道par
转载
2024-02-08 03:37:27
223阅读
前言v1.2.2版本开始,参数化数据支持读取外部文件,文件格式可以支持:txt/csv/json/yaml参数化的实现用例参数化的实现,我设计了2种实现方式参数化方式1:config:
name: post示例
fixtures: username, password
parameters:
- [test1, '123456']
- [t
原创
2023-04-22 10:58:47
602阅读
Is this the correct use of conftest.py?是的,Fixtures是conftest.py的潜在和常见用途。您将定义的灯具将在测试套件中的所有测试之间共享。但是在根concurest.py中定义fixtures可能是无用的,如果这样的fixtures没有被所有的测试使用,它会减慢测试。Does it have other uses?是的,它确实。>夹具:定义
数据驱动就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。简单来说,就是参数化的应用。数据量小的测试用例可以使用代码的参数化来实现数据驱动,数据量大的情况下建议使用一种结构化的文件(例如
YAML,JSON 等)来对数据进行存储,然后在测试用例中读取这些数据。参数化实现数据驱动参数化数据驱动原理与之前分享的 UI 自动化测试框架测试数据的数据驱动
大同小异。本文依然使用 @pytes
理念与同“UI自动化测试框架”中的“测试步骤的数据驱动”相同,接口中的测试步骤的数据驱动就是将接口的参数(比如 method、url、param等)封装到 yaml 文件中管理。当测试步骤发生改变,只需要修改 yaml 文件中的配置即可。
数据驱动就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。简单来说,就是参数化的应用。数据量小的测试用例可以使用代码的参数化来实现数据驱动,数据量