Тестирование интерфейса библиотеки Python Requests, которое должны освоить новички (с примером кода)
Тестирование интерфейса библиотеки Python Requests, которое должны освоить новички (с примером кода)

Библиотека запросов Python — очень удобный инструмент при проведении тестирования интерфейса. Ниже я подробно опишу весь процесс тестирования интерфейса с помощью библиотеки запросов Python и приведу соответствующие примеры кода.

1. Установите библиотеку запросов Python.

Прежде чем использовать библиотеку запросов Python для тестирования интерфейса, вам необходимо сначала установить библиотеку. Его можно установить из командной строки, используя:

Язык кода:javascript
копировать
pip install requests

2. Отправить запрос

Отправлять запросы с помощью библиотеки запросов Python очень просто. Вам нужно только вызвать методы get, post и другие в библиотеке запросов. В качестве примера возьмем отправку запроса GET:

Язык кода:javascript
копировать
import requests
# Отправить GET-запрос
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')

# Вывести содержимое ответа
print(response.content)

Приведенный выше код отправит запрос GET и выведет содержимое ответа. Среди них https://jsonplaceholder.typicode.com/posts/1 — запрошенный URL-адрес.

3. Добавьте заголовки запроса

При проведении тестирования интерфейса обычно необходимо добавлять заголовки запросов. Заголовки запросов можно добавить с помощью параметра headers в библиотеке запросов. В качестве примера рассмотрим добавление заголовка запроса User-Agent:

Язык кода:javascript
копировать
import requests
# Добавить заголовок запроса User-Agent
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# Отправить GET-запрос
response = requests.get('https://jsonplaceholder.typicode.com/posts/1', headers=headers)
# Вывести содержимое ответа
print(response.content)

Приведенный выше код добавит заголовок запроса User-Agent и отправит запрос GET.

4. Добавьте параметры запроса

При проведении тестирования интерфейса обычно требуется добавить параметры запроса. Параметры запроса можно добавить с помощью параметра params в библиотеке запросов. В качестве примера возьмем добавление параметра запроса с параметром id, равным 1:

Язык кода:javascript
копировать
import requests

# Добавить параметры запроса
params = {'id': 1}

# Отправить GET-запрос
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)

# Вывести содержимое ответа
print(response.content)

Приведенный выше код добавит параметр запроса с идентификатором 1 и отправит запрос GET.

5. Отправьте POST-запрос.

При проведении тестирования интерфейса обычно требуется отправить POST-запрос. POST-запросы можно отправлять с помощью метода post в библиотеке запросов. В качестве примера возьмем отправку POST-запроса в формате JSON:

Язык кода:javascript
копировать
import requests
import json
# Заголовок запроса
headers = {'Content-Type': 'application/json'}
# Параметры запроса
data = {'title': 'foo', 'body': 'bar', 'userId': 1}
# Отправить POST-запрос
response = requests.post('https://jsonplaceholder.typicode.com/posts', headers=headers, data=json.dumps(data))
# Вывести содержимое ответа
print(response.content)

Приведенный выше код отправит запрос POST в формате JSON и выведет содержимое ответа.

6. Утвердить содержание ответа

При проведении тестирования интерфейса часто необходимо делать утверждения о содержании ответа. Для создания утверждений вы можете использовать собственную библиотеку unittest Python или стороннюю библиотеку pytest. В качестве примера возьмем библиотеку unittest для утверждений:

Язык кода:javascript
копировать
import requests
import unittest

class TestApi(unittest.TestCase):
    def test_get_post(self):
        # Отправить GET-запрос
        response = requests.get('https://jsonplaceholder.typicode.com/posts/1')

        # Проверьте, равен ли код состояния ответа 200.
        self.assertEqual(response.status_code, 200)
        # Утвердить содержание Содержит ли ответ слово «название»?
        self.assertIn('title', response.json())

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

Приведенный выше код отправит запрос GET и подтвердит код состояния ответа и содержимое ответа.

Короче говоря, использование библиотеки запросов Python для тестирования интерфейса очень удобно и гибко. Вы можете добавлять заголовки запросов, параметры запросов, отправлять запросы POST и т. д. в соответствии с фактическими потребностями, а также использовать библиотеку unittest или библиотеку pytest для создания утверждений.

Лучший тест с открытым исходным кодом
boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.