requests接口测试的一些请求构建和断言

import requests
import unittest
import pystache
from hamcrest import *
from jsonpath import jsonpath


class Test(unittest.TestCase):

    def test_query(self):
        payload = {
            "file": 3,
            "name": "zcc",
        }
        response = requests.post('https://httpbin.testing-studio.com/post',
                                 json=payload)
        print(response.status_code)
        # print(response.content)  # 二进制文本
        # print(response.text)   #  response.text = response.content + response.encoding
        # print(response.json())

    def test_mustache(self):
        result = pystache.render('Hi {{person}}', {'person': 'zcc'})  # Hi zcc
        assert result == 'Hi zcc'

    def test_json_path(self):
        response = requests.get('https://home.testing-studio.com/categories.json')
        # print(response.text)
        # print(jsonpath(response.json(), '$..name'))
        assert jsonpath(response.json(), '$..name')[0] == '开源项目'
        assert jsonpath(response.json(), '$..name')[3] == '用户端测试'

    def test_hamcrest(self):
        response = requests.get('https://home.testing-studio.com/categories.json')
        assert_that(jsonpath(response.json(), '$..name')[0], equal_to('开源项目'))

    def test_json_schema(self):
        # todo: 自定义生成schema
        pass

    def test_cookies_by_headers(self):
        """
        传递cookie by headers
        :return:
        """
        header = {
            "Cookie": 'number=2015130039',
            'User-Agent': 'python-requests/zcc'
        }
        response = requests.get('https://httpbin.testing-studio.com/cookies',
                                headers=header)
        print(response.request.headers)

    def test_cookies_by_cookies(self):
        """
        传递cookie by cookies
        :return:
        """
        cookies = {
            "number": '2015130039',
            "name": 'zcc',
        }
        response = requests.get('https://httpbin.testing-studio.com/cookies',
                                cookies=cookies)
        print(response.request.headers)

    def test_auth(self):
        """
        使用auth认证此类请求
        :return:
        """
        from requests.auth import HTTPBasicAuth
        response = requests.get('https://httpbin.testing-studio.com/basic-auth/balance/123',
                                auth=HTTPBasicAuth("balance", "123"))
        print(response.status_code)


if __name__ == '__main__':
    unittest.main()

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值