zoukankan      html  css  js  c++  java
  • 肖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()
    

      

  • 相关阅读:
    【软件构造】第二章第一节 软件生命周期和版本控制(配置管理)
    【软件构造】第三章第三节 抽象数据型(ADT)
    【软件构造】第三章第二节 设计规约
    用python实现两个文本合并
    用python实现哈希表
    想要搭建项目 首选从概念理解(一)
    javascript调用rest地址,获取页面值
    ArcGIS Runtime SDK for Mac OS X使用示例
    ArcGIS Server网络分析模块问题汇总
    (ArcGIS Flex API)根据地图数据构建动态树
  • 原文地址:https://www.cnblogs.com/xiaolehua/p/14178308.html
Copyright © 2011-2022 走看看