ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

多测师拱墅校区肖sir_高级金牌讲师_接口测试之python+request(8.2)

2022-06-18 10:38:18  阅读:173  来源: 互联网

标签:__ sir 8.2 多测 url self dx print cms


一、封装接口

案例1:

import requests
s=requests.session()
class Cms(object):
def __init__(self):
pass
def dl(self):
url1="http://cms.duoceshi.cn/cms/manage/loginJump.do"
head1={"Content-Type":"application/x-www-form-urlencoded"}
data1={"userAccount":"admin","loginPwd":"123456"}
dx=s.post(url=url1,data=data1,params=head1)
print(dx.text)
print(dx.headers)
print(dx.cookies)
print(dx.url)
print(dx.status_code)
print(dx.request)

def dl2(self):
url1 = "http://cms.duoceshi.cn/cms/manage/loginJump.do"
head1 = {"Content-Type": "application/x-www-form-urlencoded"}
data1 = {"userAccount": "admin", "loginPwd": "1234567"}
dx = s.post(url=url1, data=data1, json=head1)
print(dx.text)
print(dx.headers)
print(dx.cookies)
print(dx.url)
print(dx.status_code)
print(dx.request)

def yhzx(self):
url1="http://cms.duoceshi.cn/cms/manage/saveSysUser.do"
head1={"Content-Type": "application/x-www-form-urlencoded"}
data1={"id":"","userName":"123123123","userSex":"1","userMobile":"13477778811","userEmail":"111111%40qq.com","userAccount":"123123123","loginPwd":"123123123","confirmPwd":"123123123"}
dx= s.post(url=url1, data=data1, json=head1)
print(dx.text)
print(dx.headers)
print(dx.cookies)
print(dx.url)
print(dx.status_code)
print(dx.request)

def yhzx1(self):
url1="http://cms.duoceshi.cn/cms/manage/saveSysUser.do"
head1={"Content-Type": "application/x-www-form-urlencoded"}
data1={"id":"","userName":"123123123","userSex":"1","userMobile":"13477778811","userEmail":"111111%40qq.com","userAccount":"123123123","loginPwd":"123123123","confirmPwd":"123123123"}
dx= s.post(url=url1, data=data1, json=head1)
print(dx.text)
print(dx.headers)
print(dx.cookies)
print(dx.url)
print(dx.status_code)
print(dx.request)

def lanmu(self):
url1 = "http://cms.duoceshi.cn/cms/manage/saveModuleCategory.do"
head1 = {"Content-Type": "application/x-www-form-urlencoded"}
data1 = {"categoryName":"徐凯yo","categoryCode":"徐凯123","keyDesc": "徐凯"}
dx = s.post(url=url1, data=data1, json=head1)
print(dx.text)
print(dx.headers)
print(dx.cookies)
print(dx.url)
print(dx.status_code)
print(dx.request)

def shanchuyonghu(self):
url1 = "http://cms.duoceshi.cn/cms/manage/deleteByIds.do"
head1 = {"Content-Type": "application/x-www-form-urlencoded"}
data1 = {"ids": "161197,161195"}
dx = s.post(url=url1, data=data1, json=head1)
print(dx.text)
print(dx.headers)
print(dx.cookies)
print(dx.url)
print(dx.status_code)
print(dx.request)


if __name__ == '__main__':
f=Cms()
f.dl()
f.dl2()
f.yhzx()
f.yhzx1()
f.shanchuyonghu()

=======================================
案例2:
import requests
session = requests.session()#创建一个s对象来保持上下接口的关联
class Cms(object):
def __init__(self):
pass
def dl(self):
url1 = "http://cms.duoceshi.cn/cms/manage/loginJump.do"
date1 = {'userAccount': 'admin', 'loginPwd': '123456'}
h1 = {"Content-Type": "application/x-www-form-urlencoded"}
dx = session.post(url=url1, data=date1, json=h1)
print(dx.text) # 以文本的形式显示响应码
# print(dx.headers) # 请求头
# print(dx.cookies) # cookies值
# print(dx.url) # 接口路径
# print(dx.status_code) # 状态码 #200
# print(dx.request) # 请求方式
def xgmm(self):
url2 = "http://cms.duoceshi.cn/cms/manage/updateLoginPwd.do"
date2={'id': '160742','loginPwd': '123123','loginPwd2': '123123'}
h2 = {"Content-Type": "application/x-www-form-urlencoded"}
dx = session.post(url=url2, data=date2, json=h2)
print(dx.text) # 以文本的形式显示响应码
# print(dx.headers) # 请求头
# print(dx.cookies) # cookies值
# print(dx.url) # 接口路径
# print(dx.status_code) # 状态码 #200
# print(dx.request) # 请求方式
def cxyh(self):
url3 = "http://cms.duoceshi.cn/cms/manage/queryUserList.do"
date3={'startCreateDate':'', 'endCreateDate':'', 'searchValue':'', 'page': '1'}
h3= {"Content-Type": "application/x-www-form-urlencoded"}
dx = session.post(url=url3, data=date3, json=h3)
print(dx.text) # 以文本的形式显示响应码
# print(dx.headers) # 请求头
# print(dx.cookies) # cookies值
# print(dx.url) # 接口路径
# print(dx.status_code) # 状态码 #200
# print(dx.request) # 请求方式
def cxlm(self):
url4 = "http://cms.duoceshi.cn/cms/manage/findCategoryByPage.do"
date4={'parentId':'', 'categoryName':'', 'page': '1'}
h4 = {"Content-Type": "application/x-www-form-urlencoded"}
dx = session.post(url=url4, data=date4, json=h4)
print(dx.text) # 以文本的形式显示响应码
# print(dx.headers) # 请求头
# print(dx.cookies) # cookies值
# print(dx.url) # 接口路径
# print(dx.status_code) # 状态码 #200
# print(dx.request) # 请求方式
def cxzx(self):
url5= "http://cms.duoceshi.cn/cms/manage/findArticleByPage.do"
date5={'categoryId': '','startCreateDate':'', 'endCreateDate': '','articleTitle': '','page': '1'}
h5 = {"Content-Type": "application/x-www-form-urlencoded"}
dx = session.post(url=url5, data=date5, json=h5)
print(dx.text) # 以文本的形式显示响应码
# print(dx.headers) # 请求头
# print(dx.cookies) # cookies值
# print(dx.url) # 接口路径
# print(dx.status_code) # 状态码 #200
# print(dx.request) # 请求方式
if __name__ == '__main__':
c=Cms()
c.dl()
c.xgmm()
c.cxyh()
c.cxlm()
c.cxzx()
==============================================================
关联接口:
import  requests #导入requests模块
import re #导入re模块
class Gljk(): #定义一个类
def __init__(self): #定义构造函数
pass
def sf(self): #定义一个函数,一个接口
url1="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportProvince"#接口路径
h= {"Content-Type": "application/x-www-form-urlencoded"}#接口请求头
dx=requests.get(url=url1,params=h)#接口get请求
print(dx.text)#打印接口的响应体,以text格式
a=re.findall('<string>(.+?)</string>',dx.text) #通过re正则提取响应体内容
print(a)
return a #返回值,下个接口要调用
def cf(self):#定义城市接口
s=self.sf()#创建对象来调用省份接口
url2="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity" #城市接口的路径
data2={'byProvinceName':s[2]}#城市接口的请求参数,请求参数来自于上一个接口提取出来内容,根据索引取值
h2 = {"Content-Type": "application/x-www-form-urlencoded"}#请求头
dx2=requests.post(url=url2,data=data2,json=h2)#调用方式
print(dx2.text)#打印城市接口
if __name__ == '__main__':
gl=Gljk() #创建一个类的对象
gl.sf() #通过对象调用省份接口
gl.cf() ##通过对象调用城市接口



标签:__,sir,8.2,多测,url,self,dx,print,cms
来源: https://www.cnblogs.com/xiaolehua/p/16387796.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有