python-接口测试(思路)
2016-06-14 17:30
441 查看
案例:接口发送post请求
步骤1:编写方法,用于提交post请求
步骤2:编写测试数据对象,用户提交测试数据
步骤3:调用方法和数据,进行测试
实例展示:
步骤1:编写方法checkapi_post()
步骤2:编写测试数据对象data,并将对象类型转换成字典类型
步骤3:调用方法和数据,进行测试
输出结果:
步骤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!='0': 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('30010384200','139****1094','python自动化脚本001','000001','平安银行',2,1,2,'python自动化测试数据001') data2=ComQuestion_data.data('300034228661','180****1650','自动化脚本002','000001','平安银行',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'0', u'RetMsg': u' ac7940fe-0803-491c-86f3-4d64c6ea57c9'} 0 提交成功
相关文章推荐
- 机器学习实践之手写数字识别 - 数据初识
- python datetime 时间日期处理
- python列出文件夹下所有文件的四个方法
- Python实现TCP协议下的端口映射功能的脚本程序示例
- s.decode('unicode-escape')
- Fail2Ban之python
- Python3 基础
- “彩虹花”python-matploylib模块
- 浅谈python新手中常见的疑惑及解答
- 视频下载工具 :you-get
- enumerate
- Python 异常处理
- 在Python3里使用MYSQL
- 在Python3里使用MYSQL
- Python自动化代理池
- Python中死锁的形成示例及死锁情况的防止
- Windows下Python安装lxml
- Python note1(语言语义)
- Python 错误处理
- python使用