案例:接口发送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-接口测试(思路)的更多相关文章

  1. Python接口测试实战1(上)- 接口测试理论

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  2. Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  3. Python接口测试实战5(上) - Git及Jenkins持续集成

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  4. Python接口测试实战5(下) - RESTful、Web Service及Mock Server

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  5. Python接口测试实战4(上) - 接口测试框架实战

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  6. Python接口测试实战3(下)- unittest测试框架

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  7. Python接口测试实战3(上)- Python操作数据库

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  8. Python接口测试实战2 - 使用Python发送请求

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  9. Python接口测试实战1(下)- 接口测试工具的使用

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  10. python接口测试(post,get)-传参(data和json之间的区别)

    python接口测试如何正确传参: POST 传data:data是python字典格式:传参data=json.dumps(data)是字符串类型传参 #!/usr/bin/env python3 ...

随机推荐

  1. Cesium有价值网址

    //比较粗 https://www.cnblogs.com/mazhenyu/p/6494748.html //很详细 2019.4.19 https://www.cnblogs.com/fuckgi ...

  2. Android屏幕录制

    自己实现了Android的屏幕录制App. 用了MediaProjection类来作为源,MediaRecoder来捕捉,编码转换为本地视频. 效果图: 主要是这段代码开始录像: startActiv ...

  3. C命令行参数

    总是忘了,在这里说明下. argc是命令行参数的实际个数,从1开始. 第一个是可执行文件的名称 argv[]的元素是字符串 每个元素是个命令行参数. #include<stdio.h> i ...

  4. vue之slot,组件标签嵌套

    vue之slot,组件标签嵌套 插槽(Slot),在各种vue的ui插件中,经常见到的多个组件标签相互嵌套(如下)就是以此为基础的. <el-col > <el-checkbox & ...

  5. Installation failed with message Failed to finalize session : INSTALL_FAILED_INVALID_APK: Split lib_slice_8_apk was defined multiple times. It is possible that this issue is resolved by uninstalling a

    取消:Instant Run就行

  6. kubernetes 集群安全配置

    版本:v1.10.0-alpha.3 openssl genrsa -out ca.key 2048 openssl req -x509 -new -nodes -key ca.key -subj & ...

  7. python gun readline

    https://github.com/ludwigschwardt/python-gnureadline

  8. windows系统mysql-5.7.19官方绿色版zip包安装教程

    环境: 系统环境 Windows 10 64位 mysql版本 5.7.19 一.万变不离的下载 下载页面:https://dev.mysql.com/downloads/mysql/ 点击 Down ...

  9. ios学习杂记

    commond  + alt + enter Xcode分屏.拖动xib连线

  10. Java 面试知识点汇总

    OOP:(Object Oriented Programming )面向对象编程 重用性.灵活性和扩展性 高内聚.低耦合 面向过程编程与面向对象编程的区别:举例,自己做饭吃与去饭馆吃,去饭馆只需要知道 ...