Files
enduro-trails/docs/work-items/ET-008/04b-ui-test-cases.md

14 KiB
Raw Blame History

type, work_item_id, title, version, status, created_at, updated_at, authors
type work_item_id title version status created_at updated_at authors
ui-test-cases ET-008 UI Test Cases: GPS-треки с публичных платформ 1 draft 2026-06-01 2026-06-01
agent:analyst

UI Test Cases — ET-008: GPS-треки с публичных платформ

Базовый URL: https://openclaw.mva154.duckdns.org/enduro/

Все тесты проверяют появление и поведение секции «Источники» в #sheet-gpx, импорта по URL и поиска OSM-треков. Внешние сетевые запросы в test-окружении мокаются (см. test-plan).

Селекторы (новые, добавляются ET-008):

  • #source-seg — segmented control «Источники»
  • #source-btn-file, #source-btn-url, #source-btn-nearby — кнопки вкладок
  • #gpx-source-pane-file, #gpx-source-pane-url, #gpx-source-pane-nearby — контент-блоки
  • #gpx-url-input — поле ввода URL
  • #btn-gpx-fetch-url — кнопка «Загрузить» URL
  • #btn-gpx-find-nearby — кнопка «Найти треки в этой области»
  • #gpx-nearby-results — контейнер списка найденных
  • .gpx-nearby-card — карточка найденного OSM-трека
  • .gnc-import — кнопка «Показать»
  • .gnc-external — ссылка «↗»
  • .gpx-source-row — индикатор источника в карточке трека

Существующие селекторы (ET-006): #tb-gpx, #sheet-gpx, #gpx-list.


TC-UI-01 — Секция «Источники» видна в #sheet-gpx

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. screenshot: "01-sheet-gpx-sources-section"
  6. check-visual: "В верхней части #sheet-gpx (под заголовком, над списком треков) видна секция «ИСТОЧНИКИ» с тремя кнопками segmented control: «Из файла», «По ссылке», «Найти рядом». По умолчанию активна (подсвечена оранжевым) кнопка «Из файла»."

TC-UI-02 — Переключение на вкладку «По ссылке»

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-url"
  6. wait: 500
  7. screenshot: "02-source-url-pane"
  8. check-visual: "Кнопка «По ссылке» подсвечена оранжевым, «Из файла» и «Найти рядом» — нет. Под кнопками видно поле ввода с placeholder «https://example.com/track.gpx» и кнопка «Загрузить» справа."

TC-UI-03 — Переключение на вкладку «Найти рядом»

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-nearby"
  6. wait: 500
  7. screenshot: "03-source-nearby-pane"
  8. check-visual: "Кнопка «Найти рядом» подсвечена оранжевым. Под кнопками видна крупная кнопка «Найти треки в этой области карты». Список найденных треков пуст или отсутствует."

TC-UI-04 — Поле URL принимает ввод

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-url"
  6. wait: 500
  7. click: "#gpx-url-input"
  8. wait: 200
  9. screenshot: "04-url-input-focused"
  10. check-visual: "Поле #gpx-url-input получило фокус (видна рамка/каретка), placeholder виден если поле пустое. Кнопка «Загрузить» рядом, активна (не дизейблена)."

TC-UI-05 — Невалидный URL: toast об ошибке

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-url"
  6. wait: 500
  7. click: "#gpx-url-input"
  8. wait: 200
  9. type: "not-a-url"
  10. click: "#btn-gpx-fetch-url"
  11. wait: 1000
  12. screenshot: "05-invalid-url-toast"
  13. check-visual: "Сверху по центру экрана отображается toast-уведомление с текстом «Невалидная ссылка» (или похожим). Никаких изменений на карте."

TC-UI-06 — Кнопка «Найти треки» дизейблится во время запроса

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-nearby"
  6. wait: 500
  7. click: "#btn-gpx-find-nearby"
  8. wait: 300
  9. screenshot: "06-finding-tracks-loading"
  10. check-visual: "Кнопка «Найти треки в этой области карты» визуально дизейблена (серая / opacity снижен). Виден индикатор загрузки (spinner или moto-wheel)."

TC-UI-07 — Список найденных треков

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-nearby"
  6. wait: 500
  7. click: "#btn-gpx-find-nearby"
  8. wait: 4000
  9. screenshot: "07-nearby-tracks-list"
  10. check-visual: "Под кнопкой поиска появился список карточек .gpx-nearby-card. Каждая карточка содержит: иконку 🌍 (или OSM-логотип) слева, имя/описание трека и метаданные (км, аноним/автор), кнопку «Показать» справа, маленькую ссылку «↗». Карточки разделены тонкими линиями."

TC-UI-08 — Импорт OSM-трека: трек на карте, индикатор в карточке

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-nearby"
  6. wait: 500
  7. click: "#btn-gpx-find-nearby"
  8. wait: 4000
  9. click: ".gnc-import"
  10. wait: 4000
  11. screenshot: "08-osm-track-imported"
  12. check-visual: "На карте видна цветная линия импортированного трека. В списке найденных карточка первого трека показывает индикатор «✓ Загружен» вместо кнопки «Показать». В нижней части #sheet-gpx (в #gpx-list) появилась новая карточка трека с источником «🌍 OSM #...»."

TC-UI-09 — Источник «OSM» — кликабельная ссылка в #gpx-list

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-nearby"
  6. wait: 500
  7. click: "#btn-gpx-find-nearby"
  8. wait: 4000
  9. click: ".gnc-import"
  10. wait: 4000
  11. screenshot: "09-gpx-list-source-osm"
  12. check-visual: "В нижнем списке #gpx-list карточка импортированного трека под именем содержит строку «.gpx-source-row» с текстом «🌍 OSM #<число>». Текст оформлен как ссылка (подчёркнут или другой цвет)."

TC-UI-10 — Смешанные источники в #gpx-list

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-url"
  6. wait: 500
  7. click: "#gpx-url-input"
  8. wait: 200
  9. type: "https://example.test/mock-track.gpx"
  10. click: "#btn-gpx-fetch-url"
  11. wait: 4000
  12. click: "#source-btn-nearby"
  13. wait: 500
  14. click: "#btn-gpx-find-nearby"
  15. wait: 4000
  16. click: ".gnc-import"
  17. wait: 4000
  18. screenshot: "10-mixed-sources-list"
  19. check-visual: "В #gpx-list 2 карточки: одна с источником «🔗 example.test», вторая с «🌍 OSM #...». Карточки имеют разные цветовые индикаторы слева. Обе видны на карте как линии разных цветов."

TC-UI-11 — Импорт по URL: трек появляется на карте

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-url"
  6. wait: 500
  7. click: "#gpx-url-input"
  8. wait: 200
  9. type: "https://example.test/mock-track.gpx"
  10. click: "#btn-gpx-fetch-url"
  11. wait: 5000
  12. screenshot: "11-url-track-loaded"
  13. check-visual: "На карте видна цветная линия загруженного трека. В #gpx-list появилась карточка с именем «mock-track» и источником «🔗 example.test». Карта выполнила fit bounds — трек по центру экрана."

TC-UI-12 — Секция «Источники» на мобильном

  • тип: ui
  • viewport: mobile

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. screenshot: "12-sources-mobile-default"
  6. check-visual: "На мобильном viewport секция «Источники» помещается по ширине экрана. Три кнопки segmented control видны и нажимаемы, не выходят за экран. Активна «Из файла»."

TC-UI-13 — Поле URL на мобильном

  • тип: ui
  • viewport: mobile

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-url"
  6. wait: 500
  7. screenshot: "13-url-pane-mobile"
  8. check-visual: "На мобильном поле #gpx-url-input занимает большую часть ширины, кнопка «Загрузить» справа. Оба элемента не перекрываются, нажимаемы, помещаются в экран."

TC-UI-14 — Список найденных OSM треков на мобильном

  • тип: ui
  • viewport: mobile

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-nearby"
  6. wait: 500
  7. click: "#btn-gpx-find-nearby"
  8. wait: 4000
  9. screenshot: "14-nearby-list-mobile"
  10. check-visual: "На мобильном карточки .gpx-nearby-card отображаются вертикально, занимают всю ширину. Кнопка «Показать» и ссылка «↗» в каждой карточке нажимаемы, не перекрываются. Список скроллится."

TC-UI-15 — Совместимость со спутниковой подложкой

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#terrain-toggle"
  4. wait: 500
  5. click: "#base-btn-satellite"
  6. wait: 5000
  7. click: "#tb-gpx"
  8. wait: 1000
  9. click: "#source-btn-nearby"
  10. wait: 500
  11. click: "#btn-gpx-find-nearby"
  12. wait: 4000
  13. click: ".gnc-import"
  14. wait: 4000
  15. screenshot: "15-osm-track-on-satellite"
  16. check-visual: "На спутниковой подложке видна цветная линия импортированного OSM-трека. Линия имеет hover-видимость (контрастная для спутника). Панель #sheet-gpx не конфликтует со спутником визуально."

TC-UI-16 — Сохранение треков при переключении тёмной темы

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-nearby"
  6. wait: 500
  7. click: "#btn-gpx-find-nearby"
  8. wait: 4000
  9. click: ".gnc-import"
  10. wait: 4000
  11. click: "#btn-theme"
  12. wait: 3000
  13. screenshot: "16-osm-track-after-theme-switch"
  14. check-visual: "После переключения тёмной темы цветная линия импортированного OSM-трека остаётся на карте. В #gpx-list карточка трека с источником «🌍 OSM #...» сохранилась."

TC-UI-17 — Сохранение треков при переключении источника «Из файла»

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-nearby"
  6. wait: 500
  7. click: "#btn-gpx-find-nearby"
  8. wait: 4000
  9. click: ".gnc-import"
  10. wait: 4000
  11. click: "#source-btn-file"
  12. wait: 500
  13. screenshot: "17-back-to-file-tab"
  14. check-visual: "Активна вкладка «Из файла», секция «Найти рядом» свернута. Импортированный OSM-трек остаётся в нижнем списке #gpx-list (карточка с «🌍 OSM #...»). Сам трек по-прежнему видим на карте."

TC-UI-18 — Внешняя ссылка ↗ на osm.org

  • тип: ui
  • viewport: desktop

шаги:

  1. navigate: https://openclaw.mva154.duckdns.org/enduro/
  2. wait: 5000
  3. click: "#tb-gpx"
  4. wait: 1000
  5. click: "#source-btn-nearby"
  6. wait: 500
  7. click: "#btn-gpx-find-nearby"
  8. wait: 4000
  9. screenshot: "18-external-link-button"
  10. check-visual: "В каждой карточке .gpx-nearby-card в правом углу видна кнопка «↗» (.gnc-external). Кнопка имеет hover-состояние (cursor:pointer), визуально отличима от основной кнопки «Показать»."