首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python接口自动化数据驱动

在上一篇Python接口自动化测试系列文章:Python接口自动化之登录接口测试,主要介绍接口概念、接口用例设计及登录接口测试实战。...在此之前,我们已经实现了用unittest框架编写测试用例,实现了请求接口的封装,这样虽然已经可以完成接口自动化测试,但是其复用性并不高。...接下来将会对框架进行优化,采用数据驱动方式: 1.把测试数据用excel表格管理起来,代码做封装; 2.用ddt来驱动测试,两部分相互独立。...三、ddt介绍及使用 ddt介绍 名称:Data-Driven Tests,数据驱动测试 作用:由外部数据集合来驱动测试用例的执行 核心的思想:数据和测试代码分离 应用场景:一组外部数据来执行相同的操作...优点:当测试数据发生大量变化的情况下,测试代码可以保持不变 实际项目:excel存储测试数据,ddt读取测试数据到单元测试框架(测试用例中) 补充: 所谓数据驱动,就是数据的改变从而驱动自动化测试的执行

1.2K50

python+requests+excel接口自动化数据驱动

一、前言 1.环境准备: - python3.6 - requests - xlrd - openpyxl - HTMLTestRunner_api 2.目前实现的功能: - 封装requests请求方法...- 在excel填写接口请求参数 - 运行完后,重新生成一个excel报告,结果写入excel - 用unittest+ddt数据驱动模式执行 - HTMLTestRunner生成可视化的html报告...: - 无法实现参数关联(无解):上个请求的结果是下个请求的参数,如token (流程类的接口,需要自己封装,自己组织流程) - 接口请求参数名有重复的,目前未处理,如key1=value1&key1=...value2,两个key都一样,这种需要用元组存储,目前暂时未判断 - 生成的excel样式未处理,后期慢慢优化样式 - python新手可能遇到模块导入报错问题 二、项目结构 ?...result.xlsx") wirte_result(res, filename="result.xlsx") 七、测试用例unittest+ddt 1.测试用例用unittest框架组建,并用ddt数据驱动模式

6.4K51
您找到你想要的搜索结果了吗?
是的
没有找到

python接口自动化测试 - 数据驱动DDT模块的简单使用

DDT简单介绍 名称:Data-Driven Tests,数据驱动测试 作用:由外部数据集合来驱动测试用例的执行 核心的思想:数据和测试代码分离 应用场景:一组外部数据来执行相同的操作 优点:当测试数据发生大量变化的情况下...,测试代码可以保持不变 实际项目:excel存储测试数据,ddt读取测试数据到单元测试框架(测试用例中),输出到html报告 什么是数据驱动 就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变...说的直白些,就是参数化的应用 DDT基础使用(一):传递基础数据类型 # 导入ddt库下所有内容 from ddt import * # 在测试类前必须首先声明使用 ddt @ddt class imoocTest...3 test_int: 4 test_str: 1 test_str: 2 test_str: 3 包含知识点 想使用DDT首先要在单元测试类上面加上 @ddt DDT基础使用(二):传递一个复杂的数据结构...字典也可以这样处理 @unpack 当没有加unpack时,test_case方法的参数只能填一个;如元组的例子 当你加了unpack时,传递的数据量需要一致;如列表例子中,每个列表我都固定传了三个数据

1.3K30

Python接口测试之数据驱动(二十)

接口自动化测试中,客户端发送请求给服务端,在客户端发送请求的时候,包含了请求地址,请求方法,以及请求参数等数据,那么在接口自动化测试中如何来分离这些请求地址和请求参数了,最好的方式是以数据驱动的方式分离到...首先安装处理excel的库,这里使用的Python版本是3.6,所以先安装第三方库,安装的命令为(已安装的会提示已存在): ?...下来编写接口用例,见数据未分离的接口用例,见实现的代码: import unittest import time as t import requests class ApiTest(unittest.TestCase...self.assertEqual(r.json()['status'],0) if __name__ == '__main__': unittest.main(verbosity=2) 下来使用数据驱动的方式把请求地址和请求参数分离出来...,维护数据统一是在excel中,第二个接口这些成功后,直接失败,见失败信息: ?

84541

Python 自动化测试(四):数据驱动

这种测试,在功能测试中非常耗费人力物力,但是在自动化中,却比较好实现,只要实现了测试操作步骤,然后将多组测试数据数据驱动的形式注入,就可以实现了。...pyyaml 模块在 Python 中用于处理 YAML 格式数据,主要使用 yaml.safe_dump() 和 yaml.safe_load() 函数将 Python 值和 YAML 格式数据相互转换...安装 pip install PyYAML 案例 创建用例文件以及数据文件来完成数据驱动的测试案例,创建一个文件夹 testdata,在这个文件夹下创建 data.yml 和 test_yaml.py...,通过 open() 方法获取 data.yml 文件对象,使用 yaml.safe_load() 加载这个文件对象,将 YAML 格式文件转换为 Python 值,分别传到到用例中生成多条用例分别执行...以上,pytest 组合 YAML 实现数据驱动,YAML 文件作为用例数据源,控制测试用例的执行,使测试用例数据维护更加方便快捷。

83220

测试之路 pytest接口自动化框架-yaml数据驱动

哈喽~大家好,上期我们聊了聊yaml数据。本期内容是他的兄弟篇。yaml数据驱动与yaml部分模块的封装。废话不多,昊料开始。 01 开篇 数据驱动自动化中起到了一个很重要的作用。...很多的接口测试工具,也都把数据驱动利用的淋漓尽致。就拿我们最熟悉的jmeter来说。它的数据驱动是依靠CSV文件(一种通用文本格式。常用于数据之间的转换。一行就是一条数据数据中多个值用“,”分割。)...在接口中调用这些参数所属的变量。即可实现数据驱动。 上期内容我们说到,在做接口自动化的过程中,由于yaml格式的数据与现在流行的restful数据结构一样。...所以yaml作为接口自动化中的数据源文件是最合适的。在yaml中,也可以实现数据驱动。 02 初识数据驱动 在没开始说数据驱动之前。...就会出现如下图所示的情况 同一个接口为了覆盖参数是否合法,就做了5条用例。而且除了data参数不一致以外。其他的都是一样的。这很不符合python代码的特性。 为解决这个问题。数据驱动就上场了。

87040

Python 接口测试之ddt数据驱动番外篇

引言   前面我分享过一篇关于接口测试数据驱动方面的文章,文章是使用python第三方库ddt来进行数据驱动的。那如果没有这个库,我们不使用这个库,将如何进行数据分离呢?有没有思考过?   ...其实也是可以的,简单粗暴的方式利用excel存储测试数据,对常规操作的功能进行封装,也是可以搭建一套数据驱动的框架。   ...html> 自动化测试报告...总结   以上就是不使用ddt和unittest框架,仅仅使用python基础代码来搭建的测试框架,并且实现了数据驱动,效果和使用ddt是一样的。...希望这篇文章能帮助你学习接口测试,另外,对测试开发,自动化测试,全栈测试相关技术感兴趣的朋友,可以加入到群里学习和探索交流,进群方式,扫下方二维码。

33020

Python接口自动化-接口基础(一)

接口的定义 1.接口是前后端沟通的桥梁,是数据传输通道,包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口; 2.接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),...二 接口的分类 1.按用途: 电脑等信息机器硬件组件间的接口叫硬件接口:2 个不同的事物连接的桥梁,不同的事物就可以进行数据通信; 电脑等信息机器软件组件间的接口叫软件接口:如用户界面 UI , user...2.按结构: 图形用户接口(Graphical User Interface),是人与程序的接口; 应用程序编程接口( Application Programming Interface)是指外部系统与系统之间以及内部各子系统之间的交互点...; 三 常见的接口类型 1.HTTP接口:基于超文本传输协议(HyperText Transfer Protocol HTTP)开发的接口,是应用最广泛的网络协议之一,但并不排除没有使用其他协议。...基于浏览器/服务器(Brower/Server)的软件系统大多数为HTTP接口; 2.Web Service接口:系统对外的接口,根据提供的方法引用提供的接口,从而获取数据; 3.RESTful接口

56650

Python接口自动化-接口基础(二)

OPTIONS 允许客户端查看服务器的性能 TRACE 回显服务器收到的请求,主要用于测试或诊断 PATCH 是对 PUT 方法的补充,用来对已知资源进行局部更新 常见的接口类型: ?...连接,多个参数之间用"&"连接; 场景:get型接口用于获取信息,多用于查询数据,如列表查询功能,点击查询按钮就调用一个get接口,然后把信息返回出来; 特点:1)请求数据量小,2)参数暴露于url地址中...DELETE https://api. douban. com/ v2/book/review/ :id 不常见的接口类型: head head和get本质是一样的,区别在于head不含有呈现数据,而仅仅是...最常的两种GET和POST,RESTful接口的话一般会用到GET、POST、DELETE、PUT。 请求地址 URL:统一资源定位符,是一种自愿位置的抽象唯一识别方法。...,简单灵活 HTTP简单,服务器的程序规模小,通信速度快;HTTP使用TCP作为它的支撑运输协议,HTTP客户机发起一个与服务器的TCP连接,一旦连接建立,浏览器(客户机)和服务器进程就可以通过套接字接口访问

52010

Python接口自动化-接口基础(一)

接口的定义 1.接口是前后端沟通的桥梁,是数据传输通道,包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口; 2.接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法...二 接口的分类 1.按用途: 电脑等信息机器硬件组件间的接口叫硬件接口:2 个不同的事物连接的桥梁,不同的事物就可以进行数据通信; 电脑等信息机器软件组件间的接口叫软件接口:如用户界面 UI , user...2.按结构: 图形用户接口(Graphical User Interface),是人与程序的接口; 应用程序编程接口( Application Programming Interface)是指外部系统与系统之间以及内部各子系统之间的交互点...; 三 常见的接口类型 1.HTTP接口:基于超文本传输协议(HyperText Transfer Protocol HTTP)开发的接口,是应用最广泛的网络协议之一,但并不排除没有使用其他协议。...基于浏览器/服务器(Brower/Server)的软件系统大多数为HTTP接口; 2.Web Service接口:系统对外的接口,根据提供的方法引用提供的接口,从而获取数据; 3.RESTful接口

65330

Python接口自动化-接口基础(二)

OPTIONS 允许客户端查看服务器的性能 TRACE 回显服务器收到的请求,主要用于测试或诊断 PATCH 是对 PUT 方法的补充,用来对已知资源进行局部更新 常见的接口类型: ?...连接,多个参数之间用"&"连接; 场景:get型接口用于获取信息,多用于查询数据,如列表查询功能,点击查询按钮就调用一个get接口,然后把信息返回出来; 特点:1)请求数据量小,2)参数暴露于url地址中...DELETE https://api. douban. com/ v2/book/review/ :id 不常见的接口类型: head head和get本质是一样的,区别在于head不含有呈现数据,而仅仅是...最常的两种GET和POST,RESTful接口的话一般会用到GET、POST、DELETE、PUT。 请求地址 URL:统一资源定位符,是一种自愿位置的抽象唯一识别方法。...,简单灵活 HTTP简单,服务器的程序规模小,通信速度快;HTTP使用TCP作为它的支撑运输协议,HTTP客户机发起一个与服务器的TCP连接,一旦连接建立,浏览器(客户机)和服务器进程就可以通过套接字接口访问

76220

Python接口自动化接口依赖

在上一篇Python接口自动化测试系列文章:Python接口自动化之logging封装及实战, 主要介绍将logging常用配置放入yaml配置文件、logging日志封装及结合登录用例讲解日志如何在接口测试中运用...一 场景说明 在面试接口自动化时,经常会问,其他接口调用的前提条件是当前用户必须是登录状态,如何处理接口依赖? 在此之前我们介绍过session管理器保存会话状态。...其他接口如何携带token? 思路如下: 1.抽取登录接口返回值中的token; 2.使用全局变量存储token。...1 JsonPath介绍 JsonPath为Json文档提供了解析能力,通过使用JsonPath,你可以方便的查找节点、获取想要的数据,JsonPath是Json版的XPath。...④首先编写登录接口,返回接口数据

2.1K31

Python接口自动化之动态数据处理

本文3575字,阅读约需10分钟 在上一篇Python接口自动化测试系列文章:Python接口自动化接口依赖,主要介绍如何提取token、将token作为类属性全局调用及充值接口如何携带token进行请求...以下主要介绍:接口自动化过程中,动态数据如何生成、动态数据数据数据进行对比并替换。 一 应用场景 注册接口参数需要手机号,手机号如何动态生成? 生成的手机号如何与数据数据进行对比?...三 动态手机号处理 1 注册接口测试用例 在data/cases.xlsx中,新建register工作簿,填充注册接口用例,其中mobile_phone是动态参数,如果写死,在自动化过程中,会运行失败,...Str = 'coco爱读书' print(Str.replace('coco', 'vivi')) 输出结果如下: vivi爱读书 2 编写注册接口用例 接下来的注册接口用例代码,大多数代码其实和登录用例一样...config.data_path,'register',items['case_id'] + 1,9, result) if __name__ == '__main__': unittest.main() 今日问题: 在接口自动化过程中

1.1K20

Python驱动树莓派SPI接口目的树莓派SPI接口Python驱动故障排除参考教程

目的 进行IC测试,需要使用SPI输入数据并采集数据,考虑使用树莓派可以直接将数据采集和数据处理结合成一体,避免易出错的数据采集部分(单片机或FPGA实现) 树莓派SPI接口 物理接口 树莓派硬件接口...由上图中可以看出,树莓派的19,21,23构成了一个SPI接口,片选信号使用GPIO控制,本次并不使用自动的片选信号。...使用sudo raspi-config命令进入配置选项后选择SPI接口,打开后重启即可 Python驱动 Python使用spidev库驱动SPI 启动并配置SPI接口 spi = spidev.SpiDev...() spi.open(0, 0) spi.max_speed_hz = 15600000 发送数据 def write_pot(input): msb = input >> 8 lsb...问题描述:使用逻辑分析仪测试输出,发现有SCK信号和CS信号,MOSI信号一直为高 解决方法:使用raspi-config关闭SPI后重启,再打开SPI,重启,故障排除(重启debug大法) 参考教程 python-spidev

3.5K60
领券