python 写测试接口
request请求官方文档
https://cn.python-requests.org/zh_CN/latest/search.html?q=suds&check_keywords=yes&area=default
测试总结
https://www.cnblogs.com/superhin/p/12737646.html
postman learn
url 的名词解释:

名词解释 appId 账号、appSecret 密码、token 令牌 令牌意识是 进入官网的二次确认
名词解释 API
API: 方便使用的交互式的接口代码 根据店家菜谱学做菜 创造
SDK: 封装了多个功能的大型代码包 店家提供的外卖服务 使用模块
SDK: 封装了多个功能的大型代码包 店家提供的外卖服务 使用模块
常见的接口类型:
http:基于http协议(tcp/ip)协议的一个应用层协议的开发接口,用于定义客户端和web服务器通讯
请求方式主要是 GET\POST\PUT\DELETE
webservice:是指web上提供的一种服务接口,是需要遵守wsdl(web服务定义你语言)/SOAP(简单请求协议)规范的,本质上也是http协议
接口包含的内容:
request
http版本/请求地址url:
请求方法:GET(无body)\POST(有body)\PUT\DELETE
请求头:content- type
请求正文:请求参数
请求组成:状态行、消息报头、空行、响应正文
状态码:1xx..... 状态码的意思分解



if rel.status_code == 200:
account_dict_data = self.data_conversion(rel.text)
try:
return account_dict_data["soap:Envelope"]["soap:Body"]["ns2:queryEntUsersResponse"]["return"]["total"]
except KeyError:
print "xml data error: %s" % account_dict_data
exit(1)
response
状态码 标记响应状态的一个标识 200 ok
响应头:content-type
响应正文:响应码 msg
响应组成:状态行、消息报头、空行、响应正文
接口传递的数据格式: (该内容在post的body里面)
application/json { "name":"tony","pwd":"123456"}
application/x-www-form-urlencoded 提交表单的格式
text/xml <name>tony</name>
multipart/form-data 上传文件 content-type:multipart/form-data
登陆参数
post证书

request 请求接口的方法
先检查接口有没有问题 可以用测试接口 放到系统上能不能流程走通
post方法 / get方法
import requests
#----------------------------登陆
def login(s,user:"test",psw:"123"): #冒号是参数的注释
'''实现登陆'''
url = "#####"
body = {
"username":user,
"password":psw
}
r = s.post(url,json=body) #发送post 请求
# print(r.text) #打印返回值
#提取token
token = r.json()["token"]
# print(token) #打印token
return token #调用token
#-------------------------- 个人信息
def get_info():
#获取个人信息
url2 = "###########"
h = {
"Authorization":"Token"+token
}
r2 = s.get(url2,headers=h)
# print(r2.text)
return = r2
#---------------------------定义模版化
if _name_ == '_main_':
s = requests.session() #建立会话 相当于打开一次浏览器 通过会话来关联接口
token = login(s) #登陆返回token
#每个接口都可以通过登陆来关联-----------------------------------
r2 = get_info(s,token) #把token返回到下面
print(r2.json()) #转为json格式
#在请求完地址后 可以获取返回内容
print(r.status_code)
print(r.text) #文本内容 {“error_code”:“0”,"reason":"success"}
print(type(r.text)) #打印返回数据的类型
print(r.json())#转成python的字典 #如何打印出来的类型是text/html;charset=utf-8类型 就不能转为 json格式;
xml数据格式:
soapui完成webservice请求
get请求和 post请求展示
格式转换
转python的字典 .json()
import json
#d1是字典个数
d1 = {
"a" :None, "b" :False,"e" :["1",12],"f" :{"a" :None,"b" :False,"e" :["1",12],}
}
print(type(d1)) #<type 'dict'>
d1_js = json.dumps(d1) #字典转json
print(d1_js)
#{"a": null, "b": false, "e": ["1", 12], "f": {"a": null, "b": false, "e": ["1", 12]}}
print(type(d1_js))
js_di = json.loads(d1_js) #json转字典
print(type(d1_js)) #<type 'str'>
print (type(js_di)) #<type 'dict'>

|
在浏览器输入URL回车之后发生过程:
看病 挂号 来到科室外 :
已知的网站输入到浏览器的搜索栏里 [挂号过程=url 地址 解析 ip地址叫 DNS过程 , ip地址: 为了方便找指定的服务器] 判断医生是否在房间 : 建立 TCP 连接 ,建立通道 敲门/进门/得到回应: TCP 三次握手 进房间后 叙述病情: 发送http请求 描述病情的形式: 请求行/请求头部/空行/请求数据 医生说 你生病了: 响应HTTP请求:状态行 status code 200/响应头部/空行/响应数据 治病疗伤: 解析接收到的HTML/CSS/JAVASCRIPT等文件 |



token
#def login (r):
# 请求响应
# 打印返回报文
# 提取 token 值
# return token
#def get_info (r,token):
# 请求响应 + token
# 打印返回报文
#定义实例化:
# 将请求的方法
# r = requests.session()
# 调用上面的函数方法
# token = login(r)
# 实现 get_info 函数
# get_info(r,token)

浙公网安备 33010602011771号