Python--简单接口测试实例(一)
适用人员:初学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--简单接口测试实例(一)的更多相关文章
- 【Python接口测试】简单系统登录接口测试实例
我们可以用Jmeter做接口测试,但是呢个人觉得那个有点局限性,用python就灵活很多, 可以按自己的思路来构建比较灵活,下面给大家介绍一个简单的接口测试实例. 一.我们的思路如下: 首先我们要弄清 ...
- 【转】基于Python的接口测试框架实例
下面小编就为大家带来一篇基于Python的接口测试框架实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 背景 最近公司在做消息推送,那么自然就会产生很多接口,测试 ...
- 基于Python的接口测试框架实例
文章来源:http://www.jb51.net/article/96481.htm 下面小编就为大家带来一篇基于Python的接口测试框架实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考. ...
- python之unittest框架实现接口测试实例
python之unittest框架实现接口测试实例 接口测试的方法有很多种,具体到工具有postman,jmeter,fiddler等,但是工具的局限性是测试数据的组织较差,接口的返回工具的判断有限, ...
- python简单的函数定义和用法实例
python简单的函数定义和用法实例 这篇文章主要介绍了python简单的函数定义和用法,实例分析了Python自定义函数及其使用方法,具有一定参考借鉴价值,需要的朋友可以参考下 具体分析如下: 这里 ...
- Python 简单入门指北(二)
Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...
- python第六天 函数 python标准库实例大全
今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...
- 《转》Robot Framework 的安装配置和简单的实例介绍
Robot Framework 介绍 Robot Framework 是一款基于 Python 的功能自动化测试框架.它具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进 ...
- Python简单实现基于VSM的余弦相似度计算
在知识图谱构建阶段的实体对齐和属性值决策.判断一篇文章是否是你喜欢的文章.比较两篇文章的相似性等实例中,都涉及到了向量空间模型(Vector Space Model,简称VSM)和余弦相似度计算相关知 ...
- 基于python的接口测试框架设计(二)配置一些参数及文件
基于python的接口测试框架设计(二)配置一些参数及文件 我这里需要基于我的项目配置的主要是登陆参数.以及baseURL ,把这些放在单独的文件里 毕竟导入的时候方便了一些 首先是url 图略 建 ...
随机推荐
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
在DRP中终于接触到了MVC,感触是确实这样的架构系统灵活性不少,现在感触最深的就是使用tomcat作为服务器发布比IIS好多了,起码发布很简单,使用起来方便. 首先来简单的学习一下MVC的基础知识, ...
- RH阴性血妇女怀孕注意事项
RH阴性血的妇女怀孕注意事项,本文主要讲解RH阴性血抗体效价检测. 第一.孕前准备:Rh阴性的妇女怀孕前,需要到血液中心或指定医院作ABO和Rh血型鉴定,并且做一次孕前血液免疫学产前检查(血型抗体检 ...
- Mybatis事务(二)事务隔离级别
一般数据库的隔离级别有4个,由低到高依次为Read uncommitted.Read committed.Repeatable read.Serializable,这四个级别可以逐个解决脏读.不可重复 ...
- TCP状态转换
最近笔试遇到一个题目:如果tcp建立连接时第三次握手失败,tcp会做何操作?该问题的本质是判断我们对tcp的状态转换是否能有比较深刻的理解.只要理解了下面的状态转换图,很容易回答上述问题. 在此,将& ...
- Android高级控件(五)——如何打造一个企业级应用对话列表,以QQ,微信为例
Android高级控件(五)--如何打造一个企业级应用对话列表,以QQ,微信为例 看标题这么高大上,实际上,还是运用我么拿到listview去扩展,我们讲什么呢,就是研究一下QQ,微信的这种对话列表, ...
- 手把手带你做一个超炫酷loading成功动画view Android自定义view
写在前面: 本篇可能是手把手自定义view系列最后一篇了,实际上我也是一周前才开始真正接触自定义view,通过这一周的练习,基本上已经熟练自定义view,能够应对一般的view需要,那么就以本篇来结尾 ...
- Linux用户管理命令(第二版)
添加用户 1.useradd -设置选项 用户名 [-D 查看缺省参数 ] 选项: u: UID [必须是系统中没有的] g:缺省所属用户组GID[最好有] G: 指定用户所属多个组[可以指定这个用户 ...
- MTK Android添加驱动模块
1 [编写linux驱动程序] 1.1 一.编写驱动核心程序 1.2 二.配置Kconfig 1.3 三.配置Makefile 1.4 四.配置系统的autoconfig 1.5 五.编译 2 [编写 ...
- Android使用SVG矢量动画(二)
上篇我们学习了怎么显示SVG矢量图像,当然还有一个更强大的功能,就是让SVG图像动起来,先上一张效果图吧: 要实现上述动画效果,就得用AnimatedVectorDrawable这个类了,它就是负责V ...
- 使用GDB命令行调试器调试C/C++程序
原文:http://xmodulo.com/gdb-command-line-debugger.html作者: Adrien Brochard 没有调试器的情况下编写程序时最糟糕的状况是什么?编译时跪 ...