python-接口测试(思路)
案例:接口发送post请求
步骤1:编写方法,用于提交post请求
步骤2:编写测试数据对象,用户提交测试数据
步骤3:调用方法和数据,进行测试
实例展示:
步骤1:编写方法checkapi_post()
#coding=utf-8 import urllib,urllib2
import json def checkapi_post(url,data):
#把参数进行编码
data=urllib.urlencode(data) #.Request来发送POST请求,指明请求目标是之前定义过的url,请求内容放在data里
url2=urllib2.Request(url,data) #.urlopen打开上一步返回的结果,得到请求后的响应内容
response=urllib2.urlopen(url2) #将响应内容用read()读取出来
apicontent=response.read() #将str对象转换成json对象
context=json.loads(apicontent) #读取json对象中的RetCode的值
retcode=context['RetCode'] print context
#跟进返回的状态进行判断
if retcode!='':
print(retcode+' '+u"提交失败")
else:
print(retcode+' '+u"提交成功")
步骤2:编写测试数据对象data,并将对象类型转换成字典类型
class data(object):
def __init__(self,User,UserPhone,Title,StockId,StockName,ModelId,UserGrade,IsFree,SelfStr):
self.User=User
self.UserPhone=UserPhone
self.Title=Title
self.StockId=StockId
self.StockName=StockName
self.ModelId=ModelId
self.UserGrade=UserGrade
self.IsFree=IsFree
self.SelfStr=SelfStr #对象类型转换成字典类型
def convert_data(obj):
dict={}
dict.update(obj.__dict__)
return dict
步骤3:调用方法和数据,进行测试
#coding=utf-8
import checkapi_post
import ComQuestion_data #请求地址
url="http://xxxx.xxxx.xx/xxx/xxxxxx/CommitQuestion" data1=ComQuestion_data.data('','139****1094','python自动化脚本001','','平安银行',2,1,2,'python自动化测试数据001')
data2=ComQuestion_data.data('','180****1650','自动化脚本002','','平安银行',2,1,2,'python自动化测试数据001')
data1=ComQuestion_data.convert_data(data1)
data2=ComQuestion_data.convert_data(data2) checkapi_post.checkapi_post(url, data1)
checkapi_post.checkapi_post(url, data2)
输出结果:
{u'Message': u'-1', u'RetCode': u'-1', u'RetMsg': None}
-1 提交失败
{u'Message': u'python\u81ea\u52a8\u5316\u6d4b\u8bd5\u6570\u636e001', u'RetCode': u'', u'RetMsg': u'
ac7940fe-0803-491c-86f3-4d64c6ea57c9'}
0 提交成功
python-接口测试(思路)的更多相关文章
- Python接口测试实战1(上)- 接口测试理论
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战5(上) - Git及Jenkins持续集成
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战5(下) - RESTful、Web Service及Mock Server
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战4(上) - 接口测试框架实战
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战3(下)- unittest测试框架
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战3(上)- Python操作数据库
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战2 - 使用Python发送请求
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试实战1(下)- 接口测试工具的使用
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- python接口测试(post,get)-传参(data和json之间的区别)
python接口测试如何正确传参: POST 传data:data是python字典格式:传参data=json.dumps(data)是字符串类型传参 #!/usr/bin/env python3 ...
随机推荐
- Python模块学习 ---- datetime
Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.time模块我在之前的文章已经有所介绍,它提供的接口与C标准库time.h基本一致.相比于time模块, ...
- 自然语言处理NLTK
Python文本分析工具NLTK 情感分析 文本相似度 文本分类 分类预测模型:朴素贝叶斯 实战案例:微博情感分析
- Shiro session和Spring session一样吗?
出自:https://yq.aliyun.com/articles/114167?t=t1 1. 疑问 我们在项目中使用了spring mvc作为MVC框架,shiro作为权限控制框架,在使用过程中慢 ...
- Oracle11gr2_ADG管理之在备库上模拟failover的过程实战
技术建议和方案. 要求failover后不重建备库,并能够把failover的数据库重新切换回备库 主库为newtest,备库为snewtest 备库上已经开启了闪回 得到一个参考的SCN SQL&g ...
- awk中printf的使用说明
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息.在编写程序时经常会用到此函数.printf()函数的调用格式为: printf("", ); 其中 ...
- sublime +react+es6开发环境
Babel Sublime3才有的插件,支持ES6.JSX语法高亮. 菜单->View->Syntax->Open all with current extension as...- ...
- Oracle-11g 回缩表高水位
回缩表高水位的意义: 所有的 Oracle 段都有一个在段内容纳数据的上线,即高水位线(high water mark).HWM 是一个标记,很像水库的丽水最高水位,即使表内数据全部删除,HWM 也还 ...
- 01-MySQL优化大的思路
首先不是看它的表结构等等.从整体上去观察,不断去看它的状态.这个状态往往不是一两个小时可以看出来的,得写一个脚本,观察它的24小时的周期性变化,不断刷新它的脚本,观察它的Status.主要是看它有没有 ...
- 802.11bgn信道划分及WirelessMon规划频段
一.802.11bgn模式支持14信道,第14信道一般不使用.对应频率范围如下: Channel Frequency range Central Frequency ----------------- ...
- hdu3999-The order of a Tree (二叉树的先序遍历)
http://acm.hdu.edu.cn/showproblem.php?pid=3999 The order of a Tree Time Limit: 2000/1000 MS (Java/Ot ...