适用人员:初学python的测试人员,若对抓包不太清楚的可先学习抓包的知识

接口测试流程:发送请求-->返回响应-->结果判定-->生成报告

案例:下面以【今目标】新建客户为例来进行接口测试

1、发送请求

  1)抓包获取接口URL=https://mg.jingoal.com/mgw/customer/customerinfo?uid=9409095&cid=2706540&lang=zh_CN&client=mip&puse=mip&appver=8.7.2

  

  2)请求方式:post

  3)定制header

    通过抓包工具charles抓取header,如图所示,转换成dict格式

    

  4)请求数据:格式json 

   data=

    {
      "id": null,
      "cid": "2706540",
      "name": "客户测试003",
      "number": "13825698569",
      "url": "ukuaiqi.com",
      "address": "成都市人民北路128号",
      "phone": "18200389572",
      "subType": "25069511812070670152109290291",
      "fax": "1282562@qq.com",
      "zipCode": "",
      "remark": "",
      "owners": ["9409095"],
      "contacts": [],
      "sendCheck": ["msgAwork"],
      "tagCodes": [],
      "position": null
    }

  5)发起请求:

    result = requests.post(url, header, json=data)

2、返回响应

  result = requests.post(url, header, json=data),result为响应结果,可转换成不同的格式

  1)result.status_code,返回状态码,如200,400,502

  2)result.text,获取接口返回值的文本格式

  3)result.json(),获取接口返回值的json格式

  4)result.headers,返回完整的请求头信息

  5)result.url,返回请求的完整URL

  .....等等

  下图为响应结果截图 

  {
    "code": 0,
    "ns": "jingoal.gateway.mobile.customer",
    "type": "customer/customerinfo",
    "value": {
      "id": "28070500562611879381101795270"
        }
  }

  

3、结果判断

  结果判断主要有2部分组成,判断响应状态,判断响应body,判断的常用方法是使用断言

  如判断响应状态,请求状态result.status_code==200,msg为请求失败时打印的信息:

    self.assertEqual(result.status_code, 200, msg="请求出错")

  判断响应body里的code码,code=0代表新建客户成功:

    self.assertEqual(result.json()["code"], 0, msg="新建客户失败!")

4、生成报告

  可用HTMLTestRuner生成报告:

  report_path= "E:\\python\\result.html"    # 报告路径

  fp = open(report_path, "wb")                  # 打开报告

  runner =HTMLTestRunner.HTMLTestRunner(stream=fp, title ="XXX测试报告", decription="测试执行结果明细")

  runner.run(all_case())                           # 执行所有用例

  fp.close()                                              # 关闭文件

 下图为笔者执行全部测试用例的截图

结束:本文仅简述接口测试的过程,unittest测试组件测试在python--接口测试(二)中详述,若有疑问可直接留言,或将问题发送到邮箱1271782085@qq.com

Python--简单接口测试实例(一)的更多相关文章

  1. 【Python接口测试】简单系统登录接口测试实例

    我们可以用Jmeter做接口测试,但是呢个人觉得那个有点局限性,用python就灵活很多, 可以按自己的思路来构建比较灵活,下面给大家介绍一个简单的接口测试实例. 一.我们的思路如下: 首先我们要弄清 ...

  2. 【转】基于Python的接口测试框架实例

    下面小编就为大家带来一篇基于Python的接口测试框架实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧   背景 最近公司在做消息推送,那么自然就会产生很多接口,测试 ...

  3. 基于Python的接口测试框架实例

    文章来源:http://www.jb51.net/article/96481.htm 下面小编就为大家带来一篇基于Python的接口测试框架实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考. ...

  4. python之unittest框架实现接口测试实例

    python之unittest框架实现接口测试实例 接口测试的方法有很多种,具体到工具有postman,jmeter,fiddler等,但是工具的局限性是测试数据的组织较差,接口的返回工具的判断有限, ...

  5. python简单的函数定义和用法实例

    python简单的函数定义和用法实例 这篇文章主要介绍了python简单的函数定义和用法,实例分析了Python自定义函数及其使用方法,具有一定参考借鉴价值,需要的朋友可以参考下 具体分析如下: 这里 ...

  6. Python 简单入门指北(二)

    Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...

  7. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  8. 《转》Robot Framework 的安装配置和简单的实例介绍

    Robot Framework 介绍 Robot Framework 是一款基于 Python 的功能自动化测试框架.它具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进 ...

  9. Python简单实现基于VSM的余弦相似度计算

    在知识图谱构建阶段的实体对齐和属性值决策.判断一篇文章是否是你喜欢的文章.比较两篇文章的相似性等实例中,都涉及到了向量空间模型(Vector Space Model,简称VSM)和余弦相似度计算相关知 ...

  10. 基于python的接口测试框架设计(二)配置一些参数及文件

    基于python的接口测试框架设计(二)配置一些参数及文件 我这里需要基于我的项目配置的主要是登陆参数.以及baseURL ,把这些放在单独的文件里  毕竟导入的时候方便了一些 首先是url 图略 建 ...

随机推荐

  1. Intent的Component,Action和Category属性详解-android学习之旅(五十)

    Component属性 代码示例 public class MainActivity extends Activity{ @Override protected void onCreate(Bundl ...

  2. 网站开发进阶(三十八)Web前端开发规范文档你需要知道的事

    Web前端开发规范文档你需要知道的事 规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进 ...

  3. Java进阶(一)Java内存解析

    栈.堆.常量池等虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同.本文将深入Java核心,简单讲解Java内存分配方面的知识. 首先我们先来讲解一下内存中的各个区域. stack(栈) ...

  4. sed在行首或者行尾添加内容

    原文地址:http://www.cnblogs.com/ITEagle/archive/2013/06/20/3145546.html 用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文 ...

  5. MSRDS机器人仿真软件学习资源汇总

    这款机器人仿真软件支持winxp,7,8,10操作系统. 最简洁快速的学习资源主要在helloapps上, 使用spl可以获得丰富的支持,如C#, Java, Python, MATLAB, LabV ...

  6. hadoop学习要点

    一.HDFS (一)HDFS 概念 (二)HDFS命令行接口 (三)Java 接口 (四)文件读取和文件写入,一致性 (五)集群数据的均衡 (六)存档 (七)NameNode 单点故障问题 (八)大量 ...

  7. java工具类(二)之java正则表达式表单验证

    java正则表达式表单验证类工具类(验证邮箱.手机号码.qq号码等) 这篇文章主要介绍了java使用正则表达式进行表单验证工具类,可以验证邮箱.手机号码.qq号码等方法,需要的朋友可以参考下. jav ...

  8. 基于GraphCuts图割算法的图像分割----OpenCV代码与实现

    转载请注明出处:http://blog.csdn.net/wangyaninglm/article/details/44151213, 来自:shiter编写程序的艺术 1.绪论 图切割算法是组合图论 ...

  9. C# BarCodeToHTML条码生成类

    来自:http://www.sufeinet.com/forum.php?mod=viewthread&tid=656&extra=page%3D1%26filter%3Dtypeid ...

  10. Struts的取值与标签

    首先,我们都知道,在struts2中有一个valuestack.里面存放的就是action里的属性.同时,还有一个stackcontext,里面放的是map形式的request/session/att ...