基于python实现的http+json协议接口自动化测试框架(实用改进版)

 

by:授客 QQ1033553122


欢迎加入软件性能测试交流
QQ群:7156436


 


 


目录


1
     

写在前面
...


2
     

开发环境
...


3
     

大致流程
...


4
     

框架简介
...


5
     

运行结果展示
...


6
     

文件与配置
...


7
     

测试接口实例
...

n     
1.登陆接口...

n     
2.支付密码更改接口...


8
     

数据库设计
...


9
     

测试用例、测试数据准备
...


10
       

模块与类、函数设计
...


11
       

代码实现
...

a)

class congfighttp.ConfigHttp.

b)

class getdb.GetDB.

c)

class configrunmode.ConfigRunMode.

d)

class globalconfig.Global.

e)

class datastruct.DataStruct.

f)

class
test_interface_case.TestInterfaceCase,test_interface_case.ParametrizedTestCase.

g)

class runcase.RunCase.

h)

htmlreport.
HtmlReport.

i)

main.


12
       

源码下载
...


 


1、


写在前面

抛砖引玉,仅供参考


 


2、


开发环境

win7 64位

JetBrains PyCharm 4.0.5

Python 3.3.5



MariaDB-5.5.45-centos6-x86_64

文件下载地址:http://pan.baidu.com/s/1sj1Lzw5


 

CentOS 6.5-x86_64

下载地址:http://www.centoscn.com/CentosSoft/iso/2013/1205/2196.html


 

Mysql Connector/Python Windows (x86, 64-bit), MSI Installer Python
3.3

下载地址:http://dev.mysql.com/downloads/connector/python/

其它:公司Linux
mysql数据库服务器、应用服务器


 


3、


大致流程

下图展示了框架实现的业务流程


 


4、


框架简介

1、可通过配置文件http_config.ini,对要测试接口服务器的IP、域名,和端口信息进行灵活配置。


 

2、可通过配置文件db_config.ini,对测试数据库,应用数据库服务器主机IP,端口,用户名,密码等灵活配置。


 

3、可通过配置文件run_case_config.ini灵活配置需要用例运行模式,需要运行的用例ID列表


 

4、对常见HTTP的POST,GET请求方法进行封装(支持自由扩展以便增加其它方法


 

5、支持JSON(含嵌套对象格式的json数据,如{
"orderTotalPrice":95, "goods":[{"shopId":987654354,"goodsId":108,
"goodsNumber":1}]}})格式数据提交


 

6、通过数据库对接口测试用例、前置(数据)条件进行管理,可做到每个用例之间相互独立,互不依赖


 

7、针对接口返回结果,支持数据库级别的数据校验


 


  
 
 
8、可按测试时间及给定文件名,生成对应时间的html可视化报告,报告内容包含测试耗时,测试执行用例总数,执行成功、失败、出错用例数统计;还有单个用例的执行情况(ID,用例名称,(自定义)接口名称,接口URL,接口参数,运行结果等)


  

9、可根据实际情况,在此框架的基础上进行修改、扩展


5、


运行结果展示

篇幅问题,此处省略剩下部分,如想查看更多,烦请下载文档及源码:

基于python实现的http接口自动化测试框架(实用改进版).pdf

基于python实现的http接口自动化测试框架源码(实用改进版).zip

接口自动化 基于python实现的http+json协议接口自动化测试框架源码(实用改进版)的更多相关文章

  1. Python 基于python实现的http+json协议接口自动化测试框架源码(实用改进版)

    目录 1.      写在前面 2.      开发环境 3.      大致流程 4.      框架简介 5.      运行结果展示 6.      文件与配置 7.      测试接口实例 n ...

  2. 接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架[V2.0改进版]

    基于python+Testlink+Jenkins实现的接口自动化测试框架[V2.0改进版]   by:授客 QQ:1033553122 由于篇幅问题,,暂且采用网盘分享的形式: 下载地址: [授客] ...

  3. python版接口自动化测试框架源码完整版(requests + unittest)

    python版接口自动化测试框架:https://gitee.com/UncleYong/my_rf [框架目录结构介绍] bin: 可执行文件,程序入口 conf: 配置文件 core: 核心文件 ...

  4. 接口自动化- 基于 Python

    准备工作 这部分其实在谷歌或者百度上搜索下就可以完成的,可是我就是想再啰嗦一遍,说不定有比我更懒的同学呢哈哈~ 第一步 Python的安装配置 打开官网: https://www.python.org ...

  5. 接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架

    链接:http://blog.sina.com.cn/s/blog_13cc013b50102w94u.html

  6. soapUI 使用soapUI测试http+json协议接口简介

    使用soapUI测试http+json协议接口简介 by:授客 QQ:1033553122 SoapUI-Pro-x64-5.1.2_576025(含破解文件),软件下载地址: http://pan. ...

  7. 基于双向BiLstm神经网络的中文分词详解及源码

    基于双向BiLstm神经网络的中文分词详解及源码 基于双向BiLstm神经网络的中文分词详解及源码 1 标注序列 2 训练网络 3 Viterbi算法求解最优路径 4 keras代码讲解 最后 源代码 ...

  8. python编程从入门到实践 alien invasion 项目源码

    现在上传一个 python编程从入门到实践 alien invasion 项目源码 以供大家学习参考 跟官方版本可能不太一样,因为是自己写的 也算是给新手一个参考 我用的环境是pycharm 可能需要 ...

  9. 基于Python+Requests+Pytest+YAML+Allure实现接口自动化

    本项目实现接口自动化的技术选型:Python+Requests+Pytest+YAML+Allure ,主要是针对之前开发的一个接口项目来进行学习,通过 Python+Requests 来发送和处理H ...

随机推荐

  1. 阿里云centos7安装图形界面

    CentOS 7 系统下,本文以 MATE 桌面环境安装进行安装配置说明: 登录服务器,执行如下指令安装桌面环境: # 先安装 MATE Desktop    yum groups install & ...

  2. 课程一(Neural Networks and Deep Learning),第三周(Shallow neural networks)—— 2、Practice Questions

    1.以下哪一项是正确的?(检查所有适用的) (A,D,F,G) A.  a[2] 表示第二层的激活函数值向量. B. X 是一个矩阵, 其中每一行都是一个训练示例. C. a[2] (12) 表示第二 ...

  3. opencv2函数学习之blur,GaussianBlur,medianBlur和bilateralFilter:实现图像平滑处理

    在opencv2中,可能使用blur对图像进行平滑处理,这种方法就是最简单的求平均数. 平滑 也称 模糊, 是一项简单且使用频率很高的图像处理方法. 平滑处理的用途有很多, 但是在很多地方我们仅仅关注 ...

  4. javascript中对条件判断语句的优化 分类: JavaScript 2015-06-07 09:54 832人阅读 评论(2) 收藏

    不管写什么程序,平时都会用到条件语句,如:if...else... switch这样的语句,来达到对条件的判断.下面看来一段代码: function abc(test){ if (test == 1) ...

  5. Leetcode 759. Employee Free Time

    思路:区域覆盖问题.一个自然的想法是将每个员工的工作时间段看做一个木棒,每个木棒的长度就是这个时间段的时长.然后按照木棒的起始位置升序排列,接着由低位置向高位置一个木棒一个木棒的看过去.如果当前木棒的 ...

  6. LVS+Heartbeat 高可用集群方案操作记录

    之前分别介绍了LVS基础知识和Heartbeat基础知识, 今天这里简单说下LVS+Heartbeat实现高可用web集群方案的操作说明. Heartbeat 项目是 Linux-HA 工程的一个组成 ...

  7. CRM项目完成实现

    这两天我们都在写项目的接口与实现的! 今天主要是遇到的问题: 当我在添加新的班级的时候,班级的老师 我需要去判断这个老师是否存在,如果不存在的话,我就要把这个老师添加到学校的员工表中! 我会先判断这个 ...

  8. gitlab之gitlab-ci和gitlab-runner<二>

    1.使用 该版未接入k8s,下一篇会写接入k8s. 配置项目使用gitlab-ci和gitlab-runner,在项目的根目录中添加.gitlab-ci.yml文件,用于触发pipeline. .ho ...

  9. 使用并发工具实现 RPC 调用流量控制

    前言 RPC 服务中,每个服务的容量都是有限的,即资源有限,只能承受住给定的网络请求,所以,在设计 RPC 框架的时候,一定要考虑流量控制这个问题.而 Java 中,实现流量控制有很多中方式,今天说 ...

  10. 并发编程——详解 AQS CLH 锁

    从 acquire 方法开始 -- 获取 为什么 AQS 需要一个虚拟 head 节点 reelase 方法如何释放锁 总结 前言 AQS 是 JUC 中的核心,其中封装了资源的获取和释放,在我们之前 ...