• API自动化测试1


     1

     2

    检查post请求

    3

     4查看requests库

    http://cn.python-requests.org/zh_CN/latest/

    5.以列出课程为列子构建请求参数

    构建请求消息 定义url参数

     

    查看响应内容

    查看响应消息头:

    查看响应消息体:

    json格式的消息转换为python中的数据对象

    判断id是否存在

    post请求:

    url参数

    请求参数 格式为表单格式(键值对)

    复制创建课程值

    如果是自定义格式 可以这样写

     如果是json格式

    自己转码json格式

    例子:

    Request使用方法快速介绍

    Request是第三方库,需要手动安装:

    pip install requests

    需要导入requests模块

    import requests

    构建各种http请求

    http.get请求

    requests.get('https://api.github.com/events')

    http.post请求

    requests.post('http://httpbin.org/post', data = {'key':'value'})

    http.put请求

    requests.put('http://httpbin.org/put', data = {'key':'value'})

    http.delete请求

    requests.delete('http://httpbin.org/delete')

    构建URL参数

    payload = {'key1': 'value1', 'key2': 'value2'}
    requests.get("http://httpbin.org/get", params=payload)

    params参数接收的是一个字典

    构建请求头

    只需要简单地传递一个 字典给 headers 参数就可以了

    例如:

    h1={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',

       
    }

    requests.get('http://localhost/api/mgr/sq_mgr/',
                 headers=h1,
                 params=payload)

    定制请求体

    请求体类型:Content-Type:   application/x-www-form-urlencoded

    只需简单地传递一个字典给 data 参数

    payload={'action':'add_course',
             'data':'''{
                  "name":"初中化学
    ",
                  "desc":"初中化学课程
    ",
                  "display_idx":"4"
                }'''
            
    }
    resp=requests.post("http://localhost/api/mgr/sq_mgr/", data=payload)
    请求体类型:Content-Type: application/json

    可以将字典直接传递给json参数

    payload2={
          "action" : "add_course_json",
          "data" : {
            "name":"初中化学",
            "desc":"初中化学课程",
            "display_idx":"4"
         
    }
        }
    resp=requests.post("http://localhost/apijson/mgr/sq_mgr/", json=payload2)

    注意参数和URL的区别!!!!

    查看响应内容

    先获取到响应对象response

    resp=requests.post("http://localhost/api/mgr/sq_mgr/", data=payload)

    拿到响应对象就可以查看服务器返回的各种消息内容了

    查看响应体:

    resp.text

    查看响应头:

    resp.headers

    如果响应体恰巧是json格式:

    resp.json()

    自动把json格式的字符串转成python对象,通常都是字典类型

    那么再获取字典里面具体的值就很好操作了

    retObj=resp.json()
     
    if retObj['retcode'] == 0:
        print('pass')
    else:
        print(retObj['retcode'])

    附录

    Postman JS代码示例:

    https://learning.getpostman.com/docs/postman/scripts/test_examples/

    request中文官方文档:

    http://docs.python-requests.org/zh_CN/latest/

  • 相关阅读:
    java泛型的一些知识点:Java泛型--泛型应用--泛型接口、泛型方法、泛型数组、泛型嵌套
    Java遍历Map的四种方式
    Less20、21、22【报错注入+Cookie字段注入+Base64编码】
    Less18、19【报错注入+User-Agent、Referer字段注入】
    Less17【报错注入+Update注入/时间注入】
    Less-16【盲注+时间注入】
    Less-15【盲注+时间注入】
    Less-14【报错注入】
    Less-12、13【报错注入】
    Less-11【报错注入】
  • 原文地址:https://www.cnblogs.com/iamshasha/p/11129491.html
Copyright © 2020-2023  润新知