肖sir_高级讲师python中request课堂笔记

 import requests
# 在dos命令下安装:requests  pip install requests
# 或者在pycharm中设置里面project中安装
# (pip命令版本不要高于10,会报main函数作用的错误)
# 接口的测试流程:
# 问开发同事要接口文档,或者直接用浏览器或者抓包工具来抓接口
# 根据文档或者直接抓到的接口来构建请求
# 构建完请求后点击运行在查看响应体中的值来判断接口是否OK
# from selenium import webdriver
# selenium-->ui自动化有那几种方法
# import requests
# requests -->接口的urlib urlib2 urlib3 也可以来做接口
# 1、组建一个接口请求:
# import requests #导入接口库
# rep =requests.get()
# rep =requests.post()
# rep =requests.request()
# session =requests.Session() #保持会话上下接口的关联
# session-->对象  对象名称和变量名称可以自定义
# session.get()
# session.post()
# 2、组建一个接口需要哪些参数?????
# url地址、类型headers、入参、请求发方法get post
# import requests
# # 1、登录接口的url地址
# loginjump_url='http://192.168.254.129:8080/cms/manage/loginJump.do'
# #2、登录接口的类型
# loginjump_haaders={'Content-Type': 'application/x-www-form-urlencoded'}
# # 3、登录接口的入参
# loginjump_data={'userAccount': 'admin',
#                 'loginPwd': 123456}
# # 4、组建一个接口的请求post请求
# rep =requests.post(url=loginjump_url,headers=loginjump_haaders
#                    ,data=loginjump_data)
# print(rep) #<Response [200]>
# print(rep.text) #{"code":"200","msg":"登录成功!","model":{}}
# print(type(rep.text)) #str
# print(type(rep))
# # 在Python2中类型为:编码格式类型  pyhton3为str字符串类型
# # 如要去对当前的接口进行断言:需要将返回值转换成为json格式
# js =rep.json() #将rep转换成为js格式
# # 第一种断言方法:if判断
# if js['msg'] =='登录成功!':
#     print('接口测试OK')
# else:
#     print('接口测试失败')
# # 第二种断言方法:assertPython中自带的方法
# assert js['msg']=='登录成功!'
# print(rep.status_code) #打印状态码 200
# print(rep.cookies) #打印身份cookies
# print(rep.headers) #打印请求头中的信息

# import requests
# # 构建一个get请求:
# url='http://129.226.122.199:8080//cms/manage/loginJump.do'
# data={'userAccount':'admin','loginPwd':123456}
# # get请求可以不要类型
# # 在工具中post请求的时候会有一个类型选择
# rep =requests.get(url=url,params=data)
# print(rep) #<Response [200]>
# print(rep.text) #{"code":"200","msg":"登录成功!","model":{}}
# js=rep.json()#转换成为js格式,然后在通过断言方法来实现断言
# print(rep.headers) #请求头
# print(rep.cookies)#cookie
# print(rep.status_code)# 200返回状态

# import requests
# # # 第二种请求方式
# url='http://129.226.122.199:8080/cms/manage/loginJump.do'
# data={'userAccount':'admin','loginPwd':123456}
# rep=requests.request(method='get',url=url,params=data)
# print(rep) #<Response [200]>
# print(rep.text) #{"code":"200","msg":"登录成功!","model":{}}

# import requests
# sesson=requests.Session() #创建一个sesson对象保持会话
# class Cms_api:
#     def __init__(self):
#         pass
#     def log_jump(self):#登录接口
#         logjump_url='http://129.226.122.199:8080/cms/manage/loginJump.do'
#         logjump_hes={'Content-Type': 'application/x-www-form-urlencoded'}
#         logjump_data={'userAccount': 'admin',
#                         'loginPwd': 123456}
#         rep=requests.post(logjump_url,data=logjump_data,json=logjump_hes)
#         rep=sesson.post(logjump_url,logjump_data,logjump_hes)
#         print(rep.text)
#     def User_list(self):#用户管理接口
#         userlist_url='http://192.168.254.129:8080/cms/manage/queryUserList.do'
#         userlist_hes={'Content-Type': 'application/x-www-form-urlencoded'}
#         userlist_data={'startCreateDate':'',
#                         'endCreateDate': '',
#                         'searchValue': '',
#                         'page': 1}
#         # rep=requests.post(userlist_url,userlist_hes,userlist_data)
#         rep=sesson.post(userlist_url,userlist_data,userlist_hes)
#         print(rep.text)
# if __name__ == '__main__':
#     Run =Cms_api()# 创建一个对象
#     Run.log_jump()#登录接口
#     Run.User_list()#用户管理接口


# import requests
# class Cms_api:
#     def __init__(self,url,data,headers):
#         self.url=url
#         self.data=data
#         self.headers=headers
#     def fun(self):
#         rep =requests.post(url=self.url,data=self.data,json=self.headers)
#         js=rep.json()  #为了断言需要转换格式
#         return js
#     def fun1(self):
#         a=self.fun() #方法传递
#         assert a['msg']=="登录成功!" #断言方法
#         if a['msg']=="登录成功!": #断言方法
#             print('OK')
#         else:
#             print('NO')
# if __name__ == '__main__':
#     Cms =Cms_api(url='http://129.226.122.199:8080/cms/manage/loginJump.do',
#                  data={'userAccount': 'admin','loginPwd': 123456},
#                  headers={'Content-Type': 'application/x-www-form-urlencoded'})
#     Cms.fun1()


# 1、登录接口
# 2、用户管理接口
# 3、新增用户接口
# 4、修改密码接口
# 把省份接口当做城市接口的入参来调用
# import requests
# import re
# class C:
#     def sf(self): #省份接口
#         Province_url='http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportProvince'
#         Province_headers={'Content-Type': 'application/x-www-form-urlencoded'}
#         rep =requests.post(url=Province_url,json=Province_headers)
#         # print(rep.text)
#         a =re.findall('<string>(.+?)</string>',rep.text)
#         return a
#
#     def cs(self): #城市接口
#         c=self.sf() #省份接口
#         portCity_url='http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity'
#         portCity_data={'byProvinceName':c[16]}
#         portCity_headers={'Content-Type': 'application/x-www-form-urlencoded'}
#         rep =requests.post(url=portCity_url,data=portCity_data,json=portCity_headers)
#         print(rep.text)
# if __name__ == '__main__':
#     c=C()
#     # c.sf()
#     c.cs()

# 1、登录接口
# 2、用户管理接口
# 3、新增用户接口
# 4、修改密码接口
# 封装在单元测试框架中,生成测试报告


# import requests #导入接口库
# session =requests.Session() #创建一个session对象保持上下接口会话
# class Cms: #定义一个类
#     def __init__(self):
#         pass
#     def log_jump(self): #组建一个登录接口
#         log_url='http://192.168.254.129:8080/cms/manage/loginJump.do' #url地址
#         log_data={'userAccount': 'admin','loginPwd': 123456} #入参
#         log_headers={'Content-Type': 'application/x-www-form-urlencoded'} #内容类型
#         rep=session.post(url=log_url,data=log_data,json=log_headers) #构建一个post请求
#         print(rep.text) #打印结果{"code":"200","msg":"登录成功!","model":{}}
#     def user_list(self): #组建一个用户管理接口
#         list_url='http://192.168.254.129:8080/cms/manage/queryUserList.do' #url 地址
#         list_data={'startCreateDate':'' ,'endCreateDate':'', 'searchValue': '','page': 1} #入参
#         list_headers={'Content-Type': 'application/x-www-form-urlencoded'} #内容类型
#         rep=session.post(url=list_url,data=list_data,json=list_headers)#构建一个post请求
#         print(rep.text) #打印结果
#     def list_u(self): #组建一个用户查询接口
#         u_url='http://192.168.254.129:8080/cms/manage/queryUserList.do' #url地址
#         u_data={'startCreateDate':'', 'endCreateDate':'', 'searchValue': 'ZSAN','page': 1} #入参
#         u_headers={'Content-Type': 'application/x-www-form-urlencoded'} #类型类型
#         rep=session.post(url=u_url,data=u_data,json=u_headers) #构建一个post请求
#         print(rep.text) #打印结果 {"code":"200","msg":"查询用户成功!","model":{"totalRow":0,"userList":[],"pages":0}}
# if __name__ == '__main__':
#     ru=Cms() #创建一个类
#     ru.log_jump() #类调用登录接口
#     ru.user_list() #类调用用户管理接口
#     ru.list_u()#类调用用户查询接口

# 关联接口处理

import requests
class Cms_api:
    def log_jump(self):#登录接口
        log_url='http://192.168.254.129:8080/cms/manage/loginJump.do'
        log_data={'userAccount': 'admin','loginPwd': 123456}
        log_hes={'Content-Type': 'application/x-www-form-urlencoded'}
        rep =requests.post(url=log_url,data=log_data,json=log_hes)
        # rep=session.post()
        # print(rep.text) #打印结果文本
        # print(rep.cookies)#<RequestsCookieJar[<Cookie JSESSIONID=0F2A8D997904C468539241ED39A36444 for 192.168.254.129/cms/>]>
        self.Cookie=str(rep.cookies).split(' ')[1]
        # 通过cookie进行关联
        # print(self.Cookie)
        # # print(type(Cookie)) #<class 'str'> #字符串
        # print(Cookie)#['<RequestsCookieJar[<Cookie', 'JSESSIONID=FE86A4F77A8F4C2C345567C044B0CDE9', 'for', '192.168.254.129/cms/>]>']
        # print(type(Cookie)) #<class 'list'> 列表
        # print(Cookie) #JSESSIONID=E208098EA86B180C9FDD3D5D8D055A97
    def uer_list(self): #用户管理接口
        list_url='http://192.168.254.129:8080/cms/manage/queryUserList.do'
        list_data={'startCreateDate':'' ,'endCreateDate': '','searchValue': '','page': 1}
        list_hed={'Cookie':self.Cookie,'Content-Type': 'application/x-www-form-urlencoded'}
        rep=requests.post(url=list_url,data=list_data,json=list_hed)
        # rep=session.post()
        print(rep.text)
if __name__ == '__main__':
    U=Cms_api()
    U.log_jump()
    U.uer_list()

  

原文地址:https://www.cnblogs.com/xiaolehua/p/14178308.html