上有传参下传json的接口调用
1、优化Myrequest
import requests
from conf.setting import log class MyRequest():
@staticmethod
def post(url,data=None,cookie=None,header=None,is_json=False,files=None,params=None):
data = data if data else {}
cookie = cookie if cookie else {}
header = header if header else {}
files = files if files else {}
try:
if is_json:
res = requests.post(url,json=data,cookies= cookie,headers = header,verify=False,files=files,params=params).json()
else:
res = requests.post(url, data=data, cookies=cookie, headers=header,verify=False,files=files,params=params).json()
log.debug('【接口返回数据:%s】'%res)
print('res...',res)
except Exception as e:
res = {'error':str(e)} #如果接口调用出错的话,那么就返回一个有错误信息的字典
log.error('异常信息:接口调用失败! url 【%s】 data 【%s】 实际结果是 【%s】'%(url,data,res))
return res @staticmethod
def get(url,data=None,cookie=None,header=None):
data = data if data else {}
cookie = cookie if cookie else {}
header = header if header else {}
try:
verify=False
res = requests.get(url, params=data, cookies=cookie, headers=header,verify=False).json()
log.debug('【接口返回数据:%s】'%res)
print('res...', res)
except Exception as e:
log.error('异常信息:接口调用失败! url 【%s】 data 【%s】'%(url,data))
res = {'error':str(e)} #如果接口调用出错的话,那么就返回一个有错误信息的字典
return res
2、上有传参下传json的接口调用
import unittest,requests
from lib.my_redis import my
# from lib.my_sql import my_sql
from conf.setting import BASE_URL
from urllib.parse import urljoin
from lib.my_request import MyRequest
from lib.tools import login class Pt_XXX(unittest.TestCase):
def test_c_XXXj(self):
'''用例描述'''
url = '/xxx/xxx/xxx/xxx'
real_url = urljoin(BASE_URL, url)
token = login()
params = {'xx': xxx,
'xx': 'xxxx'
} data={
"ts": xxx,
"id": "XXX"
} # res=requests.post(real_url,params=params,json=data).json()
res = MyRequest.post(real_url, data,is_json=True,params=params)
self.assertEqual(200, res.get('code'), msg='XXXX失败') if __name__ == '__main__':
c=Pt_XXX()
c.test_c_XXXj()
上有传参下传json的接口调用的更多相关文章
- C++ 传参时传内置类型时用传值(pass by value)方式效率较高
来源:唐磊的个人博客<C++ 传参时传内置类型时用传值(pass by value)方式效率较高> 在<Effective C++>里提到对内置(C-like)类型在函数传参时 ...
- Go语言的传参和传引用[转]
目录[-] 传参和传引用的问题 传slice不是传引用! 什么叫传引用? 为什么传slice不是传引用? 为什么很多人误以为slice是传引用呢? 传指针和传引用是等价的吗? 所有类型的函数参数都是传 ...
- Vue路由传参及传参后刷新导致参数消失处理
项目功能需要,要从列表页跳转到第三方提供的URL上(这里第三方页面我是通过iframe引入在详情页,目的是点击返回时可以通过keepAlive让列表页不刷新,如果不通过iframe直接跳第三方链接,那 ...
- vue传参子传父
vue子传父用$emit实现 1.文件目录结构 2.parent父组件内容 <template> <div class="wrap"> <div> ...
- vue-router4 |name的作用|query传参|parmas传参|动态路由参数|命名视图|别名alias|前置路由守卫|路由过渡效果|滚动行为
vue-router4 出现 No match found for location with path "/" #### router/index.ts文件 import { c ...
- cocos2dx 菜单按钮回调方法传参 tag传参
.h文件 void menuCallBack(CCObject* pSender); .cpp CCMenuItemSprite* item = CCMenuItemSprite::create( m ...
- vue.js 传参 href传参 与router-link传参
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code 1. <a v-bind:href="'#/appinfo/'+cateApp ...
- Postman 串行传参和动态传参详解
Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件 用Postman做接口测试的时候,要把多条用例一起执行,就需要把用例连接起来,一次性执行 目录 串行传参 动态传参 使用 ...
- Postman高级应用——串行传参和动态传参详解
Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件 用Postman做接口测试的时候,要把多条用例一起执行,就需要把用例连接起来,一次性执行 目录 串行传参 动态传参 使用 ...
随机推荐
- 7.使用EXPLAIN 来分析SQL和表结构_1
explain:查看执行计划 使用explain 关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的 分析你的查询语句或是表结构的性能瓶颈 使用explain 可以获 ...
- 第一章、接口规范之web-api接口
1.什么是Web API接口 通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介 Web API接口和一般的url链接还是有区别的,Web API接口简单概括有下面四大特点 u ...
- C# 一个数组集合,任意组合,不遗漏,不重复
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...
- K8S搭建过程随笔_系统初始化
组件 Kubernetes 1.14.2 Docker 18.09.6-ce Etcd 3.3.13 Flanneld 0.11.0 基础环境设置 192.168.11.188 k8s-master ...
- web开发:形变、表格及多行文本操作
一.2d形变 二.动画 三.表格 四.多个文本垂直居中 五.小米形变案例 一.2d形变 /*1.形变参考点: 三轴交界点*/transform-origin: x轴坐标 y轴坐标; /*2.旋转 ro ...
- Aizu - 1382 Black or White (分段决策,单调队列优化dp)
题意:给定只有黑白两种颜色的序列A,B,每次可以选择一段连续的长度不超过k的区间将其染成同一种颜色,求把序列A变成B所需的最小操作次数. 首先需要找出一些最优解的特征: 1.如果序列A的第一个颜色和B ...
- C# 数组(5) 持续更新
同一类型和不同类型的多个对象 使用同一类型的多个对象,使用集合和数组. 使用不同类型的多个对象,使用Tuple(元组). 初始化数组 ]; myArray 存放在栈中,而 myArray 的内容 放在 ...
- queue的一些用法
import queue q = queue.Queue(3)# 指定队列大小,如果为空则为无限大 print(q.empty()) q.put('厉智') q.put('程劲') q.put('陈培 ...
- Linux环境下安装MySQL5.7
记录一下Linux环境下安装MySQL,大家按顺序执行即可,5分钟内即可完成安装,亲测可行.不过下载MySQL安装包需要大家花费一些功夫,送个链接给大家,大家按需下载: https://dev.mys ...
- setTimeout设置为0 为啥不能立马执行
setTimeout(function(){}, timer) 是指延时执行.第一个参数是回调函数,第二个参数是指延时多久执行回调函数. setTimeout(function(){console.l ...