画布 1
接口自动化测试训练营
  Day1
    HTTP 协议
      请求
        请求行
          请求方法 method
            GET
            POST
            PUT
            DELETE
          url
            协议://主机名/IP:端口/路径?请求参数（key=value）
            https://ceshiren.com/path?key=value&key2=value2
          协议版本 protocol
        请求头
          客户端自报家门
        请求参数
          query 拼接在 url 中
        请求体
          request body
            json
            form 表单格式
            文件格式
      响应
        响应状态行
          协议
          响应状态码 status code
            1xx
              临时响应
            2xx
              成功
            3xx
              重定向
            4xx
              请求错误
            5xx
              服务端错误
        响应头
          服务端自报家门
        响应体
          客户端发出请求所需要得到的数据
    pytest
      pytest 安装
        命令行：pip install -U pytest
        界面：Pycharm 配置
      pytest 测试用例编写规则
        文件 test_开头 或者 _test 结尾
        类 Test 开头
        方法 test_ 开头
        测试类中不能包含 __init__ 方法
    requests
      接口请求构造
        r = requests.get(url)
        r = requests.post(url)
        r = requests.put(url)
        r = requests.delete(url)
        r = requests.request(method, url)
      接口请求携带不同格式的请求数据
        params
          请求中携带 URL 参数
        data
          请求中携带表单格式请求体
        json
          请求中携带 json 格式的请求体
        files
          请求中携带文件格式的请求体
      接口请求设置头信息
        headers
          请求中携带头信息
        cookies
          请求中携带 cookies
      接口响应获取
        r 为响应对象
          r.status_code
            HTTP 响应状态码
          r.headers
            响应头信息
          r.text
            字符串格式的响应体内容
          r.content
            字节流格式的响应体内容
          r.raw
            原始格式的响应
          r.json()
            如果响应的内容是 JSON 格式，可以使用该方法将其解析成 Python 对象
      接口测试断言
        状态断言
          assert r.status_code == 200
        业务断言
          assert r.json().get("key") == expect
          r.json()["key"]