Skip to content
Main Navigation
Автоматизированное тестирование
Интеграции
Ручное тестирование
Дашборды и аналитика
Ресурсы
Документация
Блог
События
Последнее из блога
Управление дефектами
Управление дефектами
Разбираем понятия дефекта, ошибки и отказа, чтобы эффективно описывать их в баг-репортах, учитывать в тестировании и улучшить работу команды и баг-трекера.
Тестирование производительности
Тестирование производительности
Изучаем методы и средства для оценки быстродействия системы, а также определяем, когда и как лучше всего проводить тестирование: с помощью нагрузочного или стрессового подхода.
Настройка вебхуков в ТестОпс для Slack
Настройка вебхуков в ТестОпс для Slack
Гайд по настройке вебхуков в ТестОпс на примере создания сообщений для канала в Slack.
Перейти в блог
ТарифыПартнерыСвязаться с нами
Sidebar Navigation

Описание ТестОпс

О продукте

Информация о релизах

Миграция с других решений

Термины и определения

Часто задаваемые вопросы

Установка ТестОпс

Архитектура

Установка и первый запуск

Обзор

Kubernetes

Docker Compose

DEB-пакеты

RPM-пакеты

База данных

S3-хранилище

Конфигурация

Обзор

Сеть

Аутентификация

Обзор

Локальная аутентификация

LDAP

OpenID и Azure AD

OpenID и Keycloak

SAML 2.0

Настройка SMTP

Резервное копирование и восстановление

Начало работы

1. Создайте проект

2. Запустите ручной тест

3. Запустите автотест

4. Создайте комбинированный запуск

5. Обработайте результаты тестов

Обзор ТестОпс

Обзор

Дашборды

Тест-кейсы

Общие шаги

Тест-планы

Запуски

Результаты тестов

Дефекты

Джобы

Меню пользователя

Тест-кейсы

Статусы воркфлоу

Сценарий ручного теста

Параметры ручного теста

Вложения

Теги

Тестовые слои

Ссылки

Задачи из таск-трекеров

Сторонние тест-кейсы

Участники

Связанные тест-кейсы

Кастомные поля

Ключи маппинга

Импорт

Запуски

Окружение

Обновление метаданных

Сравнение запусков

Категории ошибок

Проект

Обзор

Управление доступом

Деревья

Вебхуки

Администрирование

Обзор

Участники

Группы

Очистка данных

Журналы аудита пользователей

Интеграции

Обзор

CI-серверы

AWS CodePipeline

Azure DevOps

Bamboo

Bitbucket

CircleCI

GitHub

GitLab

Jenkins

TeamCity

TeamCity (allurectl)

Таск-трекеры

GitHub

GitLab

Jira Data Center

Jira Software Cloud

Kaiten

Redmine

Wrike

Yandex Tracker

YouTrack

Системы управления тестированием

TestRail

Xray

Zephyr Scale

Экосистема ТестОпс

allurectl

AQL

API

Устранение неполадок

SaaS

ТестОпс как SaaS

Миграция в облако ТестОпс

On this page

AQL ​

В некоторых разделах ТестОпс, таких как Дашборды, или при использовании API ТестОпс, вы можете использовать текстовые запросы, чтобы выбрать нужные тест-кейсы, результаты тестов или запуски. Для этих запросов используется язык AQL (Allure Query Language).

Каждый запрос на языке AQL состоит из двух частей:

  • названия поля;
  • требуемого значения для этого поля.

Например, чтобы найти все тест-кейсы с названием «Мой тест», используйте запрос:

sql
name = "Мой тест"

Чтобы найти все тест-кейсы, содержащие слово «тест» в названии, используйте запрос:

sql
name ~= "тест"

Один запрос может содержать несколько условий. Например, чтобы найти все тест-кейсы со словом «тест», которые были созданы Иваном, используйте запрос:

sql
name ~= "тест" and createdBy = "Иван"

Если вам нужно найти тест-кейсы, которые удовлетворяют хотя бы одному из указанных условий, используйте ключевое слово or вместо and. Вы также можете комбинировать and и or в одном запросе, но в таком слуучае учитывайте порядок выполнения операций.

sql
name ~= "тест" or createdBy = "Иван"

Если поле имеет числовое значение, используйте дополнительные операции сравнения (>, <, <= и >=) без кавычек:

sql
id >= 100

Если поле имеет логическое значение (т. е. либо да, либо нет), в качестве его значения используется одно из двух ключевых слов: true или false. Например, чтобы найти все тест-кейсы, находящиеся в карантине, используйте запрос:

sql
muted = true

Вы можете указать ключевое слово not, чтобы инвертировать условие запроса. Например, чтобы найти все тест-кейсы, которые не содержат слово «тест» и не созданы Иваном, используйте запрос:

sql
not name ~= "тест" and not createdBy = "Иван"

Вместо not можно также использовать !=:

sql
name != "Мой тест" and createdBy != "Иван"

Полный список доступных полей расположен ниже.

Доступные поля ​

Важно

AQL для результатов тестов доступен только через API-запросы. В текущей версии ТестОпс фильтрация результатов тестов с помощью AQL-запросов через веб-интерфейс не поддерживается.

НазваниеОписаниеПример
idID тест-кейсаid = 17
nameНазвание тест-кейсаname = "Первый тест"

name ~= "тест"

name != "Мой тест"

not name = "Мой тест"
tagТеги тест-кейса. Условие будет выполнено, если хотя бы один тег соответствует значению.

Можно указать название тега или его ID
tag = "smoke"

tag = "web" and tag = "smoke"

tag = 12
issueЗадачи из таск-трекера, связанные с тест-кейсом.

Можно указать номер задачи или ее ID
issue in ["AS-1", "AS-3"]

issue = 123
roleПользователи, назначенные на тест-кейс в определенной роли. Если роль не назначена, значение будет равно null.

Можно указать название роли или ее ID
role["Owner"] = "Иван"

role["Manager"] = "Александр"

role = 123
memberВсе пользователи, назначенные на тест-кейсmember in ["Иван", "Александр"]
cfКастомные поля тест-кейса. Если поле пустое, значение будет равно null.

Можно указать название поля или его ID
cf["Epic"] = "Auth"

cf["Story"] = "Story 2"

cf = 123
cfvВсе значения кастомных полейcfv in ["Auth", "Story 2"]

cfv = 123
layerТестовый слой. Если слой не установлен, значение будет равно null.

Можно указать название слоя или его ID
layer = "API"

layer = 123
statusСтатус воркфлоу.

Можно указать название статуса или его ID
status = "Активный"

status = 123
workflowВоркфлоу тест-кейса.

Можно указать название воркфлоу или его ID
workflow = "Default Manual"

workflow = 123
testPlanТест-план, частью которого является тест-кейс.

Можно указать название тест-плана или его ID
testPlan = "smoke tests"

testPlan = 123
automationУсловие, является ли тест-кейс автоматизированнымautomation = true
mutedУсловие, находится ли тест-кейс в карантинеmuted = true
mutedDateДата переноса тест-кейса в карантинmutedDate < 1569430502709
createdDateДата создания тест-кейсаcreatedDate < 1569430502709
createdByПользователь, создавший тест-кейсcreatedBy = "Иван"
lastModifiedDateДата последнего изменения тест-кейсаlastModifiedDate < 1569430502709
lastModifiedByПользователь, изменивший тест-кейс последнимlastModifiedBy = "Александр"

Работа с датами ​

Даты в ТестОпс представлены в виде Unix-времени (количество секунд с 1 января 1970 года), поэтому работать с ними нужно как с числами. Для преобразования даты в Unix-время или наоборот используйте специальные инструменты, такие как unixtimestamp.com.

Важно

В AQL используется вариант Unix-времени с миллисекундами (13 цифр). Если вам не нужна дополнительная точность, вы можете добавить три нуля в конце нужного значения:

❌ createdDate < 1569430502

✅ createdDate < 1569430502000

Например, чтобы найти все тест-кейсы, созданные в 2023 году, используйте запрос:

sql
createdDate > 1672531200000 and createdDate < 1704067200000

Выбор подполей ​

Значения некоторых полей являются объектами, которые содержат другие поля. Вы можете указать нужное подполе, используя квадратные скобки:

sql
cf["Story"] = "Аутентификация"

Пустые значения полей ​

Некоторые поля могут не иметь значения. Чтобы проверить, есть ли у поля значение, укажите ключевое слово null.

Например, чтобы найти тест-кейсы, у которых нет владельца, используйте запрос:

sql
role["Owner"] = null

или

sql
role["Owner"] is null

Указание нескольких значений ​

Если вам нужно указать в условии несколько значений для поля, перечислите их в квадратных скобках и используйте ключевое слово in.

Например, запрос:

sql
name in ["Тест 1", "Тест 2", "Тест 3"]

идентичен запросу:

sql
name = "Тест 1" or name = "Тест 2" or name = "Тест 3"

Использование скобок ​

Иногда совместное использование ключевых слов and и or в одном запросе может привести к нежелательному результату.

Например, пример запроса ниже найдет все тест-кейсы, созданные Иваном, и только те тест-кейсы, созданные Александром, которые содержат слово «тест» в названии:

sql
createdBy = "Иван" or createdBy = "Александр" and name ~= "тест"

Это происходит потому, что операция and имеет более высокий приоритет, чем операция or. Поэтому сначала будут найдены все тест-кейсы, созданные Александром и содержащие слово «тест». После этого будут найдены все тест-кейсы, созданные Иваном, и добавлены к предыдущему результату.

Вы можете изменить порядок операций с помощью скобок. В примере выше, чтобы сначала найти все тест-кейсы, созданные либо Иваном, либо Александром, а затем отфильтровать их по слову «тест», запрос должен быть изменен следующим образом:

sql
(createdBy = "Иван" or createdBy = "Александр") and name ~= "test"

Инвертирование условий ​

Если вам нужно инвертировать результат условия, укажите ключевое слово not.

Например, чтобы найти все тест-кейсы, которые не имеют тегов nightly и devbuild, используйте запрос:

sql
not tag in ["nightly", "devbuild"]
Pager
Previous pageallurectl
Next pageAPI

Logo © 2025 Все права защищены. Сайт принадлежит компании ООО «Инструменты тестирования»