热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python接口自动化一个变量其他接口要用_python接口自动化测试框架

python接口自动化测试框架---包括请求的封装、数据库操作、多断言、ddt数据驱动、多种请求方式等注意事项:运行此项目前,先修改config.i

python接口自动化测试框架---包括请求的封装、数据库操作、多断言、ddt数据驱动、多种请求方式等

注意事项:

运行此项目前,先修改config.ini的路径,此路径为项目本地路径;此接口数据为字典格式,用到实际项目中请转换成json、xml或其他格式

一、实现方法

1.通过python+flask编写Restful API,方便调试此框架

2.运行Restful_Api下的resfulapi.py,可先通过postman或其他接口工具自测接口是否运行正常,停止运行可结束进程,

具体请求结果可查看博客http://www.zhangyanc.club/blog/82

3.使用python的requests模块请求接口,官方文档http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

4.这里使用ddt数据驱动读取Excel中的测试用例执行

5.输出测试报告和日志

二、框架目录的讲解

1.Public和branch文件夹主要写一些公共、处理方法,如请求的二次封装、获取Excel数据、日志输出、测试报告优化,配置文件读取等;

2.Restful_Api文件夹为接口的实现,运行resfulapi.py,通过postman请求验证;

3.config文件夹用例管理路径,config.ini为项目的主路径,globalparam.py为日志文件、测试用例读取和存储的路径;

4.report文件夹下存放日志和测试报告;

5.testCase文件夹写了测试用例,通过ddt数据驱动读取Excel文件,用unittest单元测试框架管理用例;

6.testdata文件下是测试用例;

7.运行run_ddt_case.py执行用例(如果整个调用流程不太懂的可以看readme下的xmind流程图)。

三、更新优化中. . .

2018.11.02---更新flask接口代码,用例增加post、put、delete请求方式

1.在此之前只有单一的get接口请求,完善其他几种请求方式

2.用例中包括请求成功和失败的案例

2018.11.04---优化支持多断言,可对resultcode、指定返回字段进行断言

实现逻辑:

1.Excel中新增"期望2"列,提供断言期望值

2.请求响应字段为字典格式,指定字段断言,前提需从Excel期望值中获取key值,来指定返回请求的value值

3.如接口只对resultcode断言,对Excel“期望2”列参数为"param=null"作为判断依据,详见ddt_case.py代码

4.新增多个断言需修改代码

2018.11.05---增加mysql、oracle、SQLserver数据库的操作

实现逻辑:

1.新增readyaml.py、db.yaml、operate_db.py

1.使用yaml文件管理数据库连接信息(此为个人服务器的数据库请不要随意改动数据)

2.通过接口url和数据库名关联,来判断执行接口需操作对应库

3.通过接口url和SQL语句关联,来判断执行接口所要执行的SQL

4.在select_request.py中进行数据库操作获取请求数据

2018.11.07---测试报告用例名的优化和界面美化

1.使用现有的ddt数据驱动不能体现具体用例名称,修改ddt源码从Excel中传入用例名,参考https://www.cnblogs.com/Simple-Small/p/9230382.html

2.在以往测试报告上增加通过百分比和其他优化

2018.12.07---支持读取多个Excel文件

实现逻辑:

1.在实际工作中测试用例不可能只写在一个Excel中,支持读取多个

2.更改get_excel.py,从指定文件夹下获取Excel文件,读取所有用例存到列表里

3.注意Excel文件的命名,以实际代码处理为准

2019.05.26---维持接口登录状态请求接口

在请求接口时一般会先要登录,大家可以在请求前先去登录并获取到COOKIEs,然后把COOKIEs传进get、post请求操作内,每次跑自动化去执行一次登录获取COOKIEs即可写成全局变量或者类属性调用



推荐阅读
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
author-avatar
牛粪不插花88
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有