Обучение httprunner 4.x – 5. Проверка сводки утверждений
Обучение httprunner 4.x – 5. Проверка сводки утверждений

Предисловие

HttpRunner4.x поддерживает два метода (jmespath и обычный) для извлечения возвращаемых результатов и имеет богатые встроенные методы для проверки результатов.

утвердить метод проверки

Методы проверки, поддерживаемые validate

assert

аббревиатура

Функция

equal

“eq”, “equals”, “equal”

равный

less_than

“lt”, “less_than”

меньше, чем

less_or_equals

“le”, “less_or_equals”

меньше, или равен

greater_than

“gt”, “greater_than”

больше, чем

greater_or_equals

“ge”, “greater_or_equals”

больше, или равен

not_equal

“ne”, “not_equal”

не равен

string_equals

“str_eq”, “string_equals”

превратиться в нитьравный

length_equal

“len_eq”, “length_equal”

длинаравный

length_greater_than

“len_gt”,”length_greater_than”

длинабольше, чем

length_greater_or_equals

“len_ge”,”length_greater_or_equals”

длинабольше, или равен

length_less_than

“len_lt”, “length_less_than”

длинаменьше, чем

length_less_or_equals

“”len_le”, “length_less_or_equals”

длинаменьше, или равен

contains

check_value содержит ожидаемое_значение

contained_by

ожидаемое_значение содержит контрольное_значение

type_match

тип соответствие типа

regex_match

Обычное сопоставление re.match(expect_value, check_value)

startswith

Строка начинается с xx

endswith

Строка заканчивается на xx

Два формата проверки можно записать в yaml

Существует два формата результатов проверки httprunner:

  • {"assert_name": [check_value, expect_value]}
  • {"check": check_value, "assert": assert_name, "expect": expect_value, "message": check status code}

Первый метод проверки — тот, который обычно использовался ранее.

Язык кода:javascript
копировать
  validate:
    - eq: [status_code, 200]
    - eq: [body.url, "http://httpbin.org/post"]
    - eq: [body.origin, "183.193.27.78"]
    - eq: [headers."Content-Type", "application/json"]

Второй способ проверки

Язык кода:javascript
копировать
  validate:
    - check: status_code            # контрольно-пропускные пункты, поддержка jmespath Регулярное извлечение
      assert: eq                    # режим утверждения
      expect: 200                   # ожидаемый результат
      message: check status code    # Необязательно, запрос в случае сбоя проверки

(Примечание: во Второй способ проверки внесены некоторые изменения по сравнению с версией httprunner3.x.,Предыдущий формат проверки был{"check": check_value, "comparator": comparator_name, "expect": expect_value} теперь изменилось на{"check": check_value, "assert": assert_name, "expect": expect_value, "message": check status code} Общий «компаратор» Ключевое слово изменено на “assert”, Ключевое слово «сообщение» не имеет значения и малоэффективно. )

Пример использования

Язык кода:javascript
копировать
config:
  name: Результат проверки

teststeps:
-
  name: post
  variables:
    username: test456
  request:
    method: POST
    url: http://httpbin.org/post
    json:
      username: ${username}
      password: "123456"
  extract:
    url: body.url
    origin: body.origin
    type: headers."Content-Type"
  validate:
    - check: status_code
      assert: eq
      expect: 200
    - check: body.url
      assert: eq
      expect: "http://httpbin.org/postx"
      message: Проверьте значение URL тела

содержит проверку содержит

Об определениях функций contains и contains_by

  • check_value — возвращаемый результат, который необходимо проверить.
  • ожидаемое_значение — ожидаемый результат, который может быть следующих типов: список, кортеж, dict, базовая строка.

Пример использования

Язык кода:javascript
копировать
config:
  name: Результат проверки

teststeps:
-
  name: post
  variables:
    username: test456
  request:
    method: POST
    url: http://httpbin.org/post
    json:
      username: ${username}
      password: "123456"
  extract:
    url: body.url
  validate:
    - eq: [status_code, 200]
    - contains: ["${url}", "httpbin.org/post"]
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose