В продукте много мест: проекты, экраны, правила, тесты, проблемы, визуальные проверки, файлы знаний. Раньше, чтобы что-то найти, приходилось вспоминать, в каком разделе это лежит, и ходить по вкладкам. Теперь над всем этим стоит одно поле поиска: вы начинаете печатать слово — и продукт сразу показывает, что нашлось, а по нажатию открывает настоящее место. Искать можно и по-русски, и по-английски: слова распознаются одинаково.
Где находится поле поиска
Поле стоит в боковой панели, сразу под названием приложения, поэтому доступно с любого экрана. Находясь в любом месте продукта, нажмите ⌘K (на Windows и Linux — Ctrl+K) — курсор встанет в поле. Клавиша работает, когда боковая панель видна: если она свёрнута, сначала откройте её.
Закончить поиск можно в любой момент: Esc или крестик в поле — и вернётся страница, которая была открыта до поиска. Если просто стереть текст, результат тот же.
Как показываются результаты
Результаты появляются сразу, по мере ввода, прямо в рабочей области — нажимать «Искать» и ждать не нужно. Список разложен по видам, поэтому искать нужную строку глазами не приходится:
- Проекты;
- Экраны — сами экраны, их типы и замечания к ним;
- Правила и действия;
- Тесты вместе с прогонами и упавшими шагами;
- Скрипты и неудачные запуски скриптов;
- Проблемы;
- Визуальный — снимки, обсуждения отличий, задачи проверки, группы разбора, кампании починки и сессии агента;
- База знаний и документация.
Сначала идут совпадения в названии: если слово есть в заголовке, такая строка окажется выше. Пока считается следующий запрос, прежний список остаётся на экране и не мигает пустотой. Если совпадений нет, продукт прямо об этом скажет. Нажатие Enter открывает первую строку списка — это быстрее, чем тянуться к мыши.
Что можно найти
В поиск попадает всё, что вы видите в интерфейсе: проекты и их настройки, типы экранов, экраны и замечания, правила, записанные действия, тесты с их шагами, скрипты, проблемы, визуальные сущности, а также текст файлов знаний и документации. Искать можно по словам из описания, по названию, по тексту ошибки — словом, по любому месту, которое вы написали сами.
Полезнее всего это в двух случаях. Первый: вы помните проблему, но не помните, к какому проекту она относится, — поиск приведёт прямо к ней. Второй: нужно быстро вспомнить формулировку из базы знаний или правила, не открывая проект целиком.
Переход к настоящему месту
Строка списка ведёт не в раздел вообще, а прямо к тому, что вы искали:
- проект — в этот проект; экран или замечание — на сам экран;
- правило — во вкладку «Правила», действие — во вкладку «Действия»;
- тест — в сам тест; прогон — в его сборку; упавший шаг — в тот самый тест на этом шаге;
- скрипт или неудачный запуск — во вкладку «Скрипты»;
- проблема — в раздел «Проблемы» нужного проекта, причём с уже открытой карточкой этой проблемы;
- снимок, обсуждение отличия или группа разбора — в их сборку; задача — на доску задач; кампания починки — во вкладку «Проверка».
Заодно поиск заканчивается сам: поле пустеет, а на экране остаётся то, что вы открыли. Возвращаться к списку найденного не нужно — если понадобится, позовите поиск снова и повторите запрос.
Файлы знаний и документации открываются на месте
Файлы знаний и документации — исключение из правила перехода: они открываются прямо в окне поверх результатов, только для чтения. Закрыть — Esc, и вы снова в списке найденного. Так удобно проверять формулировку, не теряя результаты поиска.
Честные границы
- Секретов в поиске нет. Пароли, учётные данные и ключи доступа не заносятся в поисковый индекс, поэтому найти их поиском нельзя даже случайно.
- Из запусков скриптов попадают только неудачные. Успешный запуск разбирать обычно не нужно, а вот текст ошибки искать полезно — поэтому в поиск идёт именно он.
- Из прогонов попадают только упавшие шаги, а не все подряд.
- Историю правок поиск не показывает. Он ищет по текущему содержимому: старые версии файлов и прошлые редакции описаний им не находятся.
- Очень большой файл попадает в поиск не целиком — до 64 килобайт текста. Искать по началу большого файла можно, а слово из его середины поиск не найдёт.
- Поиск — для человека в интерфейсе. Через внешний доступ для агентов он недоступен: это поле для вас, а не машинный адрес.
Как поиск остаётся свежим
Чтобы находить нужное мгновенно, продукт держит поисковый индекс на диске — в папке постоянных данных. Индекс — это заранее разобранный список всего содержимого: поиск не перечитывает всё заново при каждом запросе, а открывает готовый. Перезапуск пересборки не требует — индекс переживает и перезапуск, и пересборку контейнера вместе с его данными.
Свежесть продукт поддерживает сам: правка правила, теста или файла знаний подхватывается через несколько секунд, без перезапуска и без вашего участия. Если индекс устарел или повредился, он собирается заново, а пока идёт сборка, поиск продолжает отвечать по прежней копии — ждать он вас не заставляет. Где лежит индекс, можно задать переменной TEST_APP_SEARCH_INDEX_FOLDER; по умолчанию — /apps/test/search-index внутри постоянных данных.
С чего начать поиск — рассказано в разделе Начало работы. Что ещё видно на экране проекта — в разделе Проекты и настройки. А что доступно машинам по отдельному ключу — в разделе Внешний доступ для агентов.