zoukankan      html  css  js  c++  java
  • 多测师讲解requests __介绍_高级讲师肖sir

    我们今天讲解的内容

    一、什么是Requests? Requests是用Python语言编写的简单易用的HTTP库,用来做接口测试的库。

    二、安装requests库 1.按住Windows标志+r,在运行窗口输入cmd,输入pip install requests进行安装。

    三、接口测试的流程:

    1、问开发人员要到接口文档(或者通过fiddler和chrome浏览器抓包)

    2、查看当前接口是用什么请求发送的

    3、添加对应的请求参数

    4、在IDE工具中右键点击run,运行py文件,发送接口请求,查看返回结果,对返回 结果进行校验看是否正确

    四、

     

    # # 接口测试:
    # # 组建一个接口需要哪些参数
    # # 1、URL请求地址
    # # 2、当前接口的请求方式get /post
    # # 3、当前接口的请求类型
    # # 4、接口的入参

    # # # # # # 请求方式有三种:
    # # # # # # 第一种:
    # # rep =requests.get()
    # rep =requests.post()
    # # 第二种
    # rep =requests.request(post,get)
    # # 第三种
    # session =requests.Session()
    # #创建一个session对象,作用就是保持会话和关联
    # rep =session.get()
    # rep =session.post()

    post使用方法

    一个post请求方法:

    get 方法:

    第二种:调用方法

    # # # 通过第二种请求方式来构建请求
    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
    class Cms_api: #定义一个类
        def __init__(self): #定义一个构造函数用来初始化
            pass
        def fun(self): #定义一个方法
            '''封装登录接口'''
            url ='http://129.226.122.199:8080/cms/manage/loginJump.do'
            data={'userAccount': 'admin','loginPwd': 123456}
            headers ={'Content-Type': 'application/x-www-form-urlencoded'}
            rep =requests.post(url=url,data=data,json=headers)
            print (rep.text)
            '''如需要断言则要把类型转换成为字典:js'''
            js =rep.json() #切记如需要断言一定要转换否者无法断言
            assert js["msg"] =="登录成功!"
            if js["msg"] =="登录成功!":
                print ('接口用例正常')
            else:
                print ('接口用例异常')
    if __name__ == '__main__':
        c =Cms_api()   #创建一个对象
        c.fun()        #实例方法,通过对象调用实例方法
    

      

    断言

    第三种方法:结合多个接口进行封装

    #第三种方法
    # # 练习题目:
    # #   将登录接口,用户管理接口,新增用户接口封装在类中且实现断言,
    # # 请求方式:post
    import requests #到入 接口库
    session= requests.Session() # 创建一session对象来保持上下接口的关联
    class Cms_api:
        def __init__(self):
            pass
        def cms_dl(self): #定义一个登录
            url ='http://129.226.122.199:8080/cms/manage/loginJump.do'
            data={'userAccount': 'admin','loginPwd': 123456}
            headers ={'Content-Type': 'application/x-www-form-urlencoded'}
            # dl_rep=requests.post(url=url,data=data,json=headers)
            dl_rep =session.post(url=url,data=data,json=headers)
            print (dl_rep.text)#{"code":"200","msg":"登录成功!","model":{}}
            js =dl_rep.json()
            assert js["msg"]=="登录成功!"
        def cms_yhgl(self): #定义一个用户管理接口
            uerlist_url='http://129.226.122.199:8080/cms/manage/queryUserList.do'
            uerlist_data={'startCreateDate': '','endCreateDate': '','searchValue': '', 'page': 1}
            uerlist_headers={'Content-Type': 'application/x-www-form-urlencoded'}
            # uerlist_rep=requests.post(url=uerlist_url,data=uerlist_data,json=uerlist_headers)
            uerlist_rep=session.post(url=uerlist_url,data=uerlist_data,json=uerlist_headers)
            print (uerlist_rep.text) #{"code":"200","msg":"登录成功!","model":{}}
            js =uerlist_rep.json() #"code":"200","msg":"查询用户成功!",
            if js["msg"]=="查询用户成功!":
                print ('查询接口正常')
            else:
                print ('查询接口失败')
        def cms_uers(self): #薪增用户接口
            user_url='http://129.226.122.199:8080/cms/manage/saveSysUser.do'
            user_data={'id':'' ,'userName': 'cccc','userSex': 1,'userMobile': 13314333333,
                       'userEmail': '8834343@qq.com','userAccount': 'cccc', 'loginPwd': 123456,
                        'confirmPwd': 123456}
            user_headers={'Content-Type': 'application/x-www-form-urlencoded'}
            # user_rep=requests.post(url=user_url,data=user_data,json=user_headers)
            user_rep=session.post(url=user_url,data=user_data,json=user_headers)
            print (user_rep.text) #{"code":"400","msg":"保存用户信息失败,登录帐号已存在!","model":{}}
            js =user_rep.json()
            assert js["msg"]=="保存用户信息失败,登录帐号已存在!"
    if __name__ == '__main__':
        U=Cms_api() # 创建一个对象
        U.cms_dl() #对象调用登录接口
        U.cms_yhgl() #对象调用用户管理接口
        U.cms_uers() #对象调用新增用户接口
    # #
    

      

  • 相关阅读:
    C语言关键字
    C语言返回值
    五、Vue:使用axios库进行get和post、用拦截器对请求和响应进行预处理、Mock(数据模拟)
    四、Vue过渡与动画、过渡css类名、自定义指定、过滤器
    三、深入Vue组件——Vue插槽slot、动态组件
    二、Vue组件(component):组件的相互引用、通过props实现父子组件互传值
    一、Vue环境搭建及基础用法
    Django(十三)状态保持 —— cookie与session+ajax异步请求+session记住登录状态+cookie记住登录名密码
    Django(十二)视图--利用jquery从后台发送ajax请求并处理、ajax登录案例
    Django(十一)视图详解:基本使用、登录实例、HttpReqeust对象、HttpResponse对象
  • 原文地址:https://www.cnblogs.com/xiaolehua/p/13809744.html
Copyright © 2011-2022 走看看