接口自动化--数据驱动(ddt)】的更多相关文章

可以参考 python+requests接口自动化完整项目设计源码(一)https://www.cnblogs.com/111testing/p/9612671.html 原文地址https://www.cnblogs.com/yoyoketang/p/8628812.html 原文地址https://www.cnblogs.com/yoyoketang/tag/python接口自动化/ 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址https://ww…
前言 1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请求参数 运行完后,重新生成一个excel报告,结果写入excel 用unittest+ddt数据驱动模式执行 HTMLTestRunner生成可视化的html报告 对于没有关联的单个接口请求是可以批量执行的,需要登录的话写到setUpclass里的session里保持cookies token关联的…
接口自动化会用到数据驱动模式,也就是一个ddt模块 目录 1.环境准备 2.调用时标准格式 3.应用(结合excle来传值) 1.环境准备 首先,需要安装ddt模块 pip install ddt 2.调用时标准格式 在类下面如下写上:@ddt.ddt 在调用的方法下面需要写上:@ddt.data(需要传入的多组数据) 3.应用(结合excle来传值) 第一步:写一个excle取数据方法: # coding:utf-8 import xlrd class ExcelUtil(): def __i…
1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请求参数 运行完后,重新生成一个excel报告,结果写入excel 用unittest+ddt数据驱动模式执行 HTMLTestRunner生成可视化的html报告 对于没有关联的单个接口请求是可以批量执行的,需要登录的话写到setUpclass里的session里保持cookies token关联的不能实…
简单介绍 ​ DDT(Date Driver Test),所谓数据驱动测试,简单来说就是由数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变.通过使用数据驱动测试的方法,可以在需要验证多组数据测试场景中,使用外部数据源实现对输入输出与期望值的参数化,避免在测试中使用硬编码的数据,也就是测试数据和用例脚本代码分离. ​ DDT它其实就是一个装饰器,它会根据你传递进来的数据来决定要生成几个测试用例. ​ 使用的意义 1.代码复用率高:一个测试逻辑只需要写一次,可以多条测试数据复用,同时提高测…
上次我们提到了unittest单元测试框架,运用单元测试框架unittest进行编写测试用例 但是遇到了一个问题,就是难道我一个测试点中有多个测试用例,我要每一个都要去编写一条测试用例嘛?这实在是太复杂了,人工成本太高了 经过一系列的挣扎,最开始是使用的for循环实现的,这个也可以,但是过于累赘,然后采用了第三方库:ddt,简单介绍下ddt是怎么使用的 安装方式: pip install ddt 使用方式: 这个我就直接贴代码了吧,文字说明不太容易表达,测试数据还是引用之前的测试数据吧,,, i…
DDT简单介绍 名称:Data-Driven Tests,数据驱动测试 作用:由外部数据集合来驱动测试用例的执行 核心的思想:数据和测试代码分离 应用场景:一组外部数据来执行相同的操作 优点:当测试数据发生大量变化的情况下,测试代码可以保持不变 实际项目:excel存储测试数据,ddt读取测试数据到单元测试框架(测试用例中),输出到html报告 什么是数据驱动 就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变.说的直白些,就是参数化的应用 DDT基础使用(一):传递基础数据类型 #…
前面写过python 之 unittest初探 和 python 之 unittest+ddt 两篇文章.在之前的文章中,写过可以再次优化.今天写第三篇的目的,就是在原有基础上,基于 openpyxl模块再次优化.在第二篇中,注意到测试数据与代码写在一起,实在是难以维护操作,而我们平时书写测试用例,记录测试数据,通常会使用excel文件或者csv文件.因此,本篇主要使用openpyxl模块对xlsx文件的操作,读取或者写入数据,做到测试数据与代码分离.这样子测试用例也非常便于维护. 基于书中的源…
我在上一篇(https://www.cnblogs.com/wlyhy/p/10083318.html) 文章整理了unittest的模板,但在后续学习中,发现还有许多值得优化的地方.例如在我们设计测试用例的时候,很多时候会出现测试步骤一样,只是其中的测试数据有变化而已.就比如测试登录时的账号密码.这个时候,如果我们依然使用一条case一个方法的话,会出现大量的代码冗余,而且效率也会大大降低.此时,ddt模块就能帮助我们解决这个问题.ddt(data-driven test),顾名思义,数据驱动…
接口自动化目前是测试圈主流的一个话题,我也在网上搜索了很多关于自动化的关键词,大多数博主分享的python做接口自动化都是以开源的框架,比如:pytest.unittest+ddt(数据驱动) 最常见的. 这些框架的缺陷太多,如下列举几个: 1.无法实现参数关联:上个请求的结果是下个请求的参数,如token 2.接口请求参数名有重复的,目前未处理,如key1=value1&key1=value2,两个key都一样,这种需要用元组存储,无法判断 3.接口数据更新无法直接更新excel,仍需修改代码…
组织架构: 包括配置文件,反射.文件路径.Excel操作.测试报告生成 case.config [MODE] file_name=case_data.xlsx mode={"register":'all',"login":'all',"recharge":'all'} tools文件夹里的东西 do_config.py # -*- conding:utr-8 -*- #@Time :2018/11/17 11:21 #@Author:GYP测试…
本文旨在帮助读者介绍,如何使用excle实现数据驱动 本文是上文https://www.cnblogs.com/xuezhezlr/p/9096063.html的继续,如果没看上文建议自己看一下,对理解本文有很大帮助 上文中的程序是较为原始的数据驱动,虽然实现了数据驱动,但是本质上还是把数据写在代码里来读取,这种方式只是为了实现数据驱动而去做的数据驱动,意义并不大而且提高代码要求的技术水平,提高代码复杂度,反而不如原有代码逻辑性强,本文承接上文来介绍 public static Collecti…
大家好,我是正在学习接口测试的菜鸟.近期通过自己的学习,完成了一个关于测试接口的接口自动化demo.下面想跟大家分享一下,主要的思路是根据接口文档确定测试用例,并将测试用例写在excel中.因为只是小作demo,测试用例我没有写的很全,有兴趣的大佬自己补充一下.下面先分享接口文档,以及写在excel中的测试用例,这里需要注意的是,测试用例一定要按照我这种格式写,否则下面封装的doExcel类将会无效.     现在测试文档和测试数据我们都有了,我们要明确我们要做到什么?基于我目前所学,我最想做到…
DDT是python的第三方库,全名称为:Data-Driven/Decorated Tests. ddt安装 通过pip安装ddt模块,安装Python后,Python自带pip功能包 切换到Python安装目录script下,执行:pip install ddt 在ddt的模块中,@data表示元组的列表数据,@unpack表示用来解压元组到多个参数,在使用的时候,导入ddt模块,在测试类前声明使用ddt(@ddt). 运行结果: 从示例代码中,可以看出test_case2执行了2次,分别验…
上次我们已经将requests库封装成我们想要的样子了,我们的接口自动化已经完成了最开始的一步了,接下来我们需要完成我们相应的其他模块的封装,下面简单介绍下我们在接口自动化需要用到的模块吧在接口自动化中我们常用的模块有requests.openpyxl.pymysql.configparser.ddt.HTMLTestRunner等一些模块下面介绍下openpyxl是怎么用的吧 安装方式 pip install openpyxl 使用方式直接看代码块吧,详细描述在代码块里面的注释会写的 impo…
1.创建django项目 a.使用命令创建,安装完django之后就有django-admin命令了,执行命令创建即可,命令如下: django-admin startproject my_django#最后面的是项目名称,可以随便起 b.使用pycharm创建,打开pycharm之后,选择新建项目,然后选择django项目,在路径写上项目名称,再填一个应用的名称创建就可以了,实质上用pycharm创建的项目它也是在调用django-admin命令 点击create新建,pycharm会自动生成…
1.简介 上一篇宏哥介绍完了接口用例设计,那么这一章节,宏哥就趁热打铁介绍一下,接口测试工具.然后小伙伴们或者童鞋们就可以用接口测试工具按照设计好的测试用例开始执行用例进行接口手动测试了.关于手动测试工具就那么几个,用起来也非常简单,宏哥就不再在这里赘述了,有兴趣的可以看看宏哥在Python接口自动化里关于接口测试工具的介绍,这里宏哥就简单的提一下,一带而过即可. 2.手工接口测试的常用工具 下边是宏哥列举的几个主要常用的接口测试工具,一般常用的postman和jmeter.宏哥也推荐使用jme…
Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系.其中接口协议分为HTTP,RPC,Webservice,Dubbo,RESTful等类型. 接口测试流程 1.需求评审,熟悉业务和需求 2.开发提供接口文档 3.编写接口测试用例 4.用例评审 5.提测后开始测试 6.提交测试报告 两种常见的 HTTP 请求方法:GET 和 POST 二.项目说明…
本次主要尝试搭建接口自动化框架,基于 unittest+HTMLTestRunner 框架主要模块: config: 存放配置文件 lib: 封装了一些接口前置函数:处理各种事物 log: 存放生成的日志文件 report: 放置生成的html测试报告 suite: 套件运行器 testcase: 存放测试用例 util: 封装了一些公共函数(例如封装了日志模块,操作mysql函数,tool工具类等) 剩下的就看代码吧: 1 import configparser 2 import os 3 f…
❝ 今天来介绍一个python的一个开源项目:httprunner,接口自动化工具.第一次输入,难免有不周到的地方,轻喷~ ❞ 介绍: HttpRunner是一个简单优雅但功能强大的 HTTP(S) 测试框架.以YAML或JSON格式定义测试用例,保障测试用例描述的统一性和可维护性.程序执行的时候,会处理用户输入的yml/json文件并基于模板生成测试文件.最终通过pytest.main([])的方式去执行生成的用例文件.用户只需要通过json/yml文件去维护用例即可,不需要关心程序如何处理j…
接口自动化集成 一.jmeter基础学习 1.博客  :http://www.cnblogs.com/fnng/category/345478.html 2.博客   http://www.cnblogs.com/puresoul/category/736960.html 3.jmeter基础使用:http://www.51testing.com/zhuanti/jmeter.html 二.搭建jmeter+ant+jenkins环境中,build配置 jmeter是性能测试工具,但是jmete…
好久没写博客了..最近忙着工作以及新工作的事.. 看了下以前写的简单接口自动化,拿出来总结下,也算记录下学习成果 先来贴一下最后的结果,结果是写在原来的excel中 执行完毕后,会将结果写入到“状态”列: 执行通过的话,如果返回的json有message写入“response”列,如果执行失败,则会将返回的json也写入其中 前期准备: 在excel中依次填上接口.请求类型.需要传的数据.期望返回的状态码以及该接口的说明 代码如下,写的很简陋,甚至都没定义方法什么的,姑且称之为V0.1   后面…
简介 Postman 使一款可以方便我们调用API的工具,通过Postman 与 Newman结合我们还可以批量运行API达到API自动化测试的目的. Postman 安装 Window 系统需要先安装Chrome浏览器,然后在应用商店找到Postman插件,直接点击安装便可:https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=cn 测试GET类型API以豆瓣搜索图书API为例…
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期待的方向,有更多兴趣的欢迎切磋,我们微信订阅号,联系方式如下: 更多书籍,敬请期待 很多人说要学自动化,很多人学了 很多年的自动化,很多人自夸精通自动化,也很多人跟我说他会xxxx接口测试框架开发,然后我问了一句:给我介绍下http协议.然后,就没有然后了,小怪没那么牛,但是接口自动化测试,想…
ant 批量执行Jmeter 一.环境准备 1.JDK环境:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.ANT环境:http://ant.apache.org/bindownload.cgi 3.Jmeter:http://jmeter.apache.org/download_jmeter.cgi 4.将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的…
python+request接口自动化框架搭建 1.数据准备2.用python获取Excel文件中测试用例数据3.通过requests测试接口4.根据接口返回的code值和Excel对比 但本章只讲整个思路和代码框架 代码封装后当成模块引用!!! 步骤一:引用Requests模块开展接口测试 Python Requests快速入门 :http://cn.python-requests.org/zh_CN/latest/ 如何利用requests进行接口测试,可以根据以下demo进行相应改造 #c…
1:在Python接口自动化中,对于soap协议的xml的请求我们可以使用Suds Client来实现,其soap协议传参的类型基本上是有2种: 第一种是传参,不需要再创建啥, 第二种就是ns0类型的,如果直接以dict类型传进去的话是,里面的程序是无法将对应的参数一一对应上的,所以我们这边需要创建一个工厂,然后把这些工厂当做参数传入进去.下面就进行一步步解释一下这个步骤 Service ( BssUserManageServiceService ) tns="http://service.bo…
jemeter做接口自动化测试的优点: 1.首先我认为最重要的是不需要编程基础,很多一直想做接口测试但一直徘徊在门边的原因可能就是不想写代码 2.可以更快的上手,能让测试人员更好的理解什么是接口测试,怎么做接口测试 3.可以录制脚本,不用手工添加脚本 4.可以通过接口的参数化,无需修改脚本切换项目环境.预发环境的接口自动化回归测试提高测试效率 5.能够通过正则表达式提取器来关联多个接口实现整个项目的主要流程测试 总而言之,我认为利用jemeter来辅助日常的功能测试可以提高测试效率的 下面来分享…
在 使用jmeter+ant进行接口自动化测试(数据驱动)之一 介绍了如何使用csv文件来批量管理接口 本次接着介绍如何利用apache-ant执行测试用例并生成HTML格式测试报告 ①下载安装 apache-ant-1.9.9,配置环境变量 如下方式检验安装成功 ②安装好ant后,把jmeter中extras目录下的ant-jmeter-1.1.1.jar 文件copy到ant安装目录下的lib文件夹中 ③配置ant 编译文件 build.xml 新建一个txt文件,并重名为 build.xm…
转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自…