返回顶部
首页 > 资讯 > 精选 >pytest自动化测试数据驱动yaml/excel/csv/json怎么使用
  • 938
分享到

pytest自动化测试数据驱动yaml/excel/csv/json怎么使用

2023-07-02 13:07:35 938人浏览 泡泡鱼
摘要

这篇“pytest自动化测试数据驱动yaml/excel/csv/JSON怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这

这篇“pytest自动化测试数据驱动yaml/excel/csv/JSON怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“pytest自动化测试数据驱动yaml/excel/csv/json怎么使用”文章吧。

数据驱动

数据的改变从而驱动自动化测试用例的执行,最终引起测试结果的改变。简单说就是参数化的应用。

测试驱动在自动化测试中的应用场景:

  • 测试步骤的数据驱动;

  • 测试数据的数据驱动;

  • 配置的数据驱动;

1、pytest结合数据驱动-yaml

实现读yaml文件,先创建env.yml文件配置测试数据

工程目录结构:
  • data目录:存放yaml文件

-  dev: 127.0.0.1  #dev: 127.0.0.2  #prod: 127.0.0.3
  • testcase目录:存放测试用例文件

import pytestimport yamlclass TestYaml:    @pytest.mark.parametrize("env", yaml.safe_load(open("./env.yml")))    def test_yaml(self, env):        if "test" in env:            print("这是测试环境")            # print(env)            print("测试环境的ip是:", env["test"])        elif "dev" in env:            print("这是开发文件")            print("开发环境的ip是:", env["dev"])            # print(env)

结果示例:

pytest自动化测试数据驱动yaml/excel/csv/json怎么使用

2、pytest结合数据驱动-excel

常用的读取方式有:xlrd、xlwings、pandas、openpyxl

以读excel文件,实现A+B=C并断言为例~

工程目录结构:

data目录:存放excel数据文件

pytest自动化测试数据驱动yaml/excel/csv/json怎么使用

  • func目录:存放被测函数文件

def my_add(x, y):    result = x + y    return result
  • testcase目录:存放测试用例文件

import openpyxlimport pytestfrom test_pytest.read_excel.func.operation import my_aDDDef test_get_excel():    """    解析excel数据    :return: [[1,1,2],[3,6,9],[100,200,300]]    """    book = openpyxl.load_workbook('../data/param.xlsx')    sheet = book.active    cells = sheet["A1":"C3"]    print(cells)    values = []    for row in sheet:        data = []        for cell in row:            data.append(cell.value)        values.append(data)    print(values)    return valuesclass TestWithExcel:    @pytest.mark.parametrize('x,y,expected', test_get_excel())    def test_add(self, x, y, expected):        assert my_add(int(x), int(y)) == int(expected)

3、pyetst结合数据驱动-csv

csv:逗号文件,以逗号分隔的string文件

读取csv数据:
  • 内置函数open()

  • 内置模块csv

  • 方法:csv.reader(iterable)

  • 参数:iterable,文件或列表对象

  • 返回:迭代器,遍历迭代器,每次会返回一行数据

以读csv文件,实现A+B=C并断言为例~

工程目录结构:

data目录:存放csv数据文件

pytest自动化测试数据驱动yaml/excel/csv/json怎么使用

  • func目录:存放被测函数文件

def my_add(x, y):    result = x + y    return result
  • testcase目录:存放测试用例文件

import csvimport pytestfrom test_pytest.read_csv.func.operation import my_adddef test_get_csv():    """    解析csv文件    :return:    """    with open('../data/params.csv') as file:        raw = csv.reader(file)        data = []        for line in raw:            data.append(line)    print(data)    return dataclass TestWithCsv:    @pytest.mark.parametrize('x,y,expected', test_get_csv())    def test_add(self, x, y, expected):        assert my_add(int(x), int(y)) == int(expected)

4、pytest结合数据驱动-json

json:js对象,是一种轻量级的数据交换格式。

json结构:
  • 对象{"key":value}

  • 数组[value1,value2...]

查看json文件:
读取json文件:
  • 内置函数open()

  • 内置库json

  • 方法 json.loads() json.dumps()

以读json文件,实现A+B=C并断言为例~

工程目录结构:

data目录:存放json数据文件

pytest自动化测试数据驱动yaml/excel/csv/json怎么使用

  • func目录:存放被测函数文件

def my_add(x, y):    result = x + y    return result
  • testcase目录:存放测试用例文件

import jsonimport pytestfrom test_pytest.read_json.func.operation import my_adddef test_get_json():    """    解析json数据    :return: [[1,1,2],[3,6,9],[100,200,300]]    """    with open('../data/params.json', 'r') as file:        data = json.loads(file.read())        print(list(data.values()))        return list(data.values())class TestWithJson:    @pytest.mark.parametrize('x,y,expected', test_get_json())    def test_add(self, x, y, expected):        assert my_add(int(x), int(y)) == int(expected)

以上就是关于“pytest自动化测试数据驱动yaml/excel/csv/json怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: pytest自动化测试数据驱动yaml/excel/csv/json怎么使用

本文链接: https://lsjlt.com/news/342096.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • pytest自动化测试数据驱动yaml/excel/csv/json
    目录数据驱动1、pytest结合数据驱动-yaml工程目录结构:2、pytest结合数据驱动-excel工程目录结构:3、pyetst结合数据驱动-csv读取csv数据:工程目录结构...
    99+
    2024-04-02
  • pytest自动化测试数据驱动yaml/excel/csv/json怎么使用
    这篇“pytest自动化测试数据驱动yaml/excel/csv/json怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这...
    99+
    2023-07-02
  • Pytest+Yaml+Excel 接口自动化测试框架的实现示例
    目录一、框架架构二、项目目录结构三、框架功能说明四、核心逻辑说明配置文件输出目录请求工具类代码编写case程序主入口执行记录一、框架架构 二、项目目录结构 三、框架功能说明 解决...
    99+
    2024-04-02
  • 测试驱动技术系列之怎么用pytest实现测试数据驱动
    本篇内容主要讲解“测试驱动技术系列之怎么用pytest实现测试数据驱动”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“测试驱动技术系列之怎么用pytest实现测试数据驱动”吧!一组参数化数据定义参...
    99+
    2023-06-15
  • Pytest自动化测试框架的使用
    目录Pytest和Unittest测试框架的区别?Pytest 安装Pytest 示例标记固件(Fixture)预处理和后处理作用域自动执行参数化总结Pytest和Unittest测...
    99+
    2023-03-19
    Pytest 自动化测试框架 Pytest 自动化
  • 第三代api自动化测试框架使用教程(pytest+allure+sql+yaml)
    使用教程 一、配置1、环境配置2、框架配置3、启动入口 二、用例编写1、用例模板2、参数依赖写法2、函数(方法插件)写法3、接口上传文件和表单参数4、接口上传json参数5、接口无数据填写...
    99+
    2023-09-07
    sql 自动化 python
  • Python+Requests+PyTest+Excel+Allure接口自动化测试怎么实现
    本篇内容主要讲解“Python+Requests+PyTest+Excel+Allure接口自动化测试怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python+Requests+PyT...
    99+
    2023-07-05
  • Pytest自动化测试框架如何使用
    这篇文章主要讲解了“Pytest自动化测试框架如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Pytest自动化测试框架如何使用”吧!Pytest和Unittest测试框架的区别?如何...
    99+
    2023-07-05
  • 怎么用Python实现数据驱动的接口自动化测试
    这篇文章主要讲解了“怎么用Python实现数据驱动的接口自动化测试”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python实现数据驱动的接口自动化测试”吧!在接口测试的过程中,很多时...
    99+
    2023-06-17
  • python使用pytest接口自动化测试的使用
    简单的设计思路 利用pytest对一个接口进行各种场景测试并且断言验证 配置文件独立开来(conf文件),实现不同环境下只需要改环境配置即可 测试的场景读...
    99+
    2024-04-02
  • python+pytest自动化测试封装怎么实现
    本篇内容介绍了“python+pytest自动化测试封装怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!例如单个接口的请求代码如下:i...
    99+
    2023-07-02
  • 使用Django+Pytest搭建在线自动化测试平台
    目录一、测试平台:二、搭建过程2.1 使用django搭建一个web系统2.2 搭建测试框架三、平台如何管理总结一、测试平台: 解决分散用例执行方式,提供统一测试用例执行过程、用例管...
    99+
    2024-04-02
  • 自动化测试框架pytest的Fixture固件怎么调用
    本篇内容介绍了“自动化测试框架pytest的Fixture固件怎么调用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是固件Fixture...
    99+
    2023-07-05
  • 测试驱动技术系列之:怎么从excel中读取数据
    这篇文章主要介绍“测试驱动技术系列之:怎么从excel中读取数据”,在日常操作中,相信很多人在测试驱动技术系列之:怎么从excel中读取数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”测试驱动技术系列之:怎...
    99+
    2023-06-15
  • 怎么使用IOS自动化测试工具UIAutomation
    这篇文章给大家分享的是有关怎么使用IOS自动化测试工具UIAutomation的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。xcode中自带的Instuments工具可以用来进行APP的自动化测试, 以及用于进行...
    99+
    2023-06-14
  • Python自动化测试利器selenium怎么使用
    1 自动化测试自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。自动化测试包括UI自动化,接口自动化,单元测试自动化。按照这个金字塔模型来进行...
    99+
    2023-05-17
    Python Selenium
  • 怎么用Python+Appium做自动化测试
    这篇文章主要讲解了“怎么用Python+Appium做自动化测试”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python+Appium做自动化测试”吧!目录一、环境准备二、真机测试一...
    99+
    2023-06-20
  • python自动化测试中Selenium怎么用
    小编给大家分享一下python自动化测试中Selenium怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.安装完成自动化测试,需要配置三个东西。selen...
    99+
    2023-06-29
  • python怎么使用Hypothesis来自动化单元测试
    这篇文章主要介绍了python怎么使用Hypothesis来自动化单元测试,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Hypothesis 是一个 Python 库,用于让...
    99+
    2023-06-14
  • 怎么使用postman进行接口自动化测试
    这篇“怎么使用postman进行接口自动化测试”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用postman进行接口自...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作