前言为了提高代码的复用性,我在写用例的时候,会用到函数,然后不用的用例去调用这个函数比如登录操作,大部分的用例都会先登录,那就需要把登录单独用函数写出来,其他用例全部的调用这个登录函数就行但是登录的账号不能写死,有时候我想用账号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
一、parametrize介绍参数的目的是为了使测试用例代码与测试数据进行分离,这样,测试人员只需要维护测试数据,而不用更改代码。pytest模块给我们提供了专门用来参数的装饰器:@pytest.mark.parametrize() 。使用规则:@pytest.mark.parametrize(argnames, argvalues, indirect=False, ids=None, sco
# 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
一、在实际的测试工作中,通常需要对多组不同的输入数据,进行同样的测试操作步骤,以验证我们的软件。这种测试在功能测试中非常耗费人力物力,但是在自动中,却比较好实现,只要实现了测试操作步骤,然后将多组测试数据以数据驱动的形式注入,就可以实现了,前面学习了参数,当数据量非常大的时候,我们可以将数据存放到外部文件中,使用的时候将文件中的数据读取出来,方便测试数据的管理,数据与测试用例分别管理,可以利用
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
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文件
概述大家都知道 pytest 的插件一般以 pytest- 作为前缀,在 pypi 搜索 pytest-yaml,可以搜到下面三个插件:pytest-yamlpytest-yaml-yoyopytest-yaml-sanmu第一个插件较为简单,读取指定 yaml 文件的内容,并保存到 fixture 中,并且自 2018 年后不再更新第二个插件较为复杂,甚至有些超越【
#!/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
yaml简介yaml : Yet Another Markup Language :另一种标记语言。yaml 是专门用来写配置文件的语言,非常简洁和强大,更直观,更方便,有点类似于json格式。在自动测试用的相当多,所以需要小伙伴们要熟练掌握,把测试数据存放在yaml文件,也可以进行参数yaml基本语法规则:大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键,只允许使用空格。缩进的空格数
一、使用背景当我们在设计用例的时候,经常会出现需要不同参数的情况,例如一个登录的用例,我们需要测试它登录名正常、为空、长度过长、过短、特殊字符等情况,因此就需要有不同情况下的参数,而当这些参数过多时,我们如果要一步一步的输入,便会显得有点繁琐,因此就需要有参数的概念。这里用到pytest里的parametrize+yaml来实现参数。 二、parametrize首先我们需要知道par
前言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
转载 2月前
437阅读
理念与同“UI自动测试框架”中的“测试步骤的数据驱动”相同,接口中的测试步骤的数据驱动就是将接口的参数(比如 method、url、param等)封装到 yaml 文件中管理。当测试步骤发生改变,只需要修改 yaml 文件中的配置即可。 数据驱动就是数据的改变从而驱动自动测试的执行,最终引起测试结果的改变。简单来说,就是参数的应用。数据量小的测试用例可以使用代码的参数来实现数据驱动,数据量
  • 1
  • 2
  • 3
  • 4
  • 5