ce-test-xcode
everyinc/compound-engineering-plugin
Создавайте и тестируйте приложения для iOS в симуляторе с помощью XcodeBuildMCP.
...Расширить всеО ce-test-xcode
Ce-test-xcode собирает, устанавливает и тестирует приложения iOS в симуляторе с использованием сервера XcodeBuildMCP, захватывая скриншоты и журналы, а также проверяя поведение приложения. Он принимает необязательный аргумент для имени схемы или «current» для использования схемы по умолчанию или последней использованной схемы. Предварительные требования включают Xcode с инструментами командной строки, подключенный сервер XcodeBuildMCP MCP, действительный проект или рабочее пространство Xcode и как минимум один доступный симулятор iOS. Вызов модели отключен, поэтому он выполняется как явная команда.
Сначала рабочий процесс проверяет подключение XcodeBuildMCP, вызывая его инструмент list_simulators, и останавливается с рекомендациями по установке, если он не подключен. Затем он обнаруживает проекты и схемы (discover_projs, list_schemes), запускает предпочтительный симулятор, такой как iPhone 15 Pro, по UUID, и собирает приложение с помощью build_ios_sim_app, сообщая об конкретных ошибках в случае неудачи. В случае успеха он устанавливает и запускает приложение (install_app_on_simulator, launch_app_on_simulator) и начинает захват журналов. Для каждого ключевого экрана он делает описательный скриншот, проверяет рендеринг и содержимое, а также проверяет журналы на наличие сбоев, исключений, сообщений об ошибках и неудачных сетевых запросов.
Навык документирует известное ограничение платформы: симулируемые нажатия не могут активировать распознаватели жестов на представлениях SwiftUI Text со встроенными ссылками AttributedString, поэтому он запрашивает ручное нажатие или предлагает xcrun simctl openurl в качестве запасного варианта. Он приостанавливает выполнение для проверки человеком потоков, требующих взаимодействия с устройством, включая «Вход через Apple», push-уведомления, внутриприобретения, камеру и фотографии, а также геолокацию, используя инструмент блокирующих вопросов платформы, такой как AskUserQuestion. При сбое теста он документирует ошибку со скриншотом и журналами и спрашивает, исправить ли её сейчас или пропустить. Он завершается структурированной таблицей сводки теста и шагом очистки, который останавливает захват журналов и по желанию завершает работу симулятора. Он также интегрируется с рабочим процессом ce-code-review, который может запускать агента для выполнения этого навыка на запросах на слияние (PR), затрагивающих код iOS.
Часто задаваемые вопросы
Какой сервер MCP требуется для этого навыка?
Требуется подключенный сервер MCP XcodeBuildMCP. Рабочий процесс подтверждает доступность, вызывая его инструмент list_simulators, и не продолжит выполнение, пока XcodeBuildMCP не заработает, предоставляя инструкции по установке через Homebrew и npx, если он отсутствует.
Как выбрать схему для тестирования?
Передайте имя схемы в качестве аргумента или передайте «current», чтобы использовать схему по умолчанию или последнюю использованную схему. Навык обнаруживает проекты и схемы с помощью discover_projs и list_schemes и использует предоставленный аргумент, если он указан.
Почему нажатия на ссылки в тексте SwiftUI не работают в симуляторе?
Симулируемые нажатия не активируют распознаватели жестов на представлениях SwiftUI Text со встроенными ссылками AttributedString, поскольку эти ссылки не представлены как отдельные элементы в дереве доступности. Навык предлагает вам нажать вручную и может использовать xcrun simctl openurl для прямого открытия известного целевого URL в качестве запасного варианта.
Когда он приостанавливается для ввода данных человеком?
Он приостанавливает выполнение для потоков, требующих взаимодействия с реальным устройством, таких как «Вход через Apple», push-уведомления, внутриприобретения, камера и фотографии, а также геолокация, запрашивая через инструмент блокирующих вопросов платформы и никогда не пропуская проверку молча.
Что он делает после сбоя теста?
Он документирует сбой со скриншотом состояния ошибки, захваченными журналами консоли и примечаниями по воспроизведению, а затем спрашивает, исправить ли это сейчас (отладка, предложение исправления, пересборка и повторное тестирование) или пропустить и продолжить тестирование других экранов.
Build and exercise an iOS app on a simulator, preserving screenshots, logs, human-verification results, and failures as evidence for the user.
Done:
- A completed run reports overall
PASS,FAIL, orPARTIALplus project, scheme, simulator, build result, per-surfacePASS/FAIL/SKIP, console errors, human checks, and residual failures. - Per-surface status is derived from evidence, not the user's routing choice.
PASSrequires completed passing evidence.FAILrecords observed failing evidence until a completed retest replaces it.SKIPmeans the check has no completed outcome. - The overall result is
FAILwhile any failure remains,PARTIALwhen no failure remains but a scoped check is skipped, and otherwisePASS. - Any failure before the launched-with-log-capture handoff stops later stages and reports an actionable setup blocker with its evidence.
Boundaries: this skill tests and reports. Diagnosis and any user-approved product fix belong to ce-debug, invoked with authority narrowed to return here without committing, pushing, or opening a PR. Keep simulator interaction within the app and flows the user placed in scope.
Run
- Prepare and launch. Read
references/setup-and-build.md. It owns the XcodeBuildMCP availability gate, project and scheme discovery, simulator choice, build, install, launch, and log-capture start. - Exercise and report. After launch, read
references/test-and-report.md. It owns per-screen evidence, human-only flows, the SwiftUI inline-link automation limitation, failure routing, cleanup, and the fixed summary fields.
Do not replace either required read with remembered tool names. XcodeBuildMCP adapters differ by host, while their observable success conditions do not.
Установить ce-test-xcode
Скачайте и извлеките файлы навыков в вашу директорию .claude/skills/.
Скачать ZIPКлонируйте репозиторий и скопируйте файлы навыка в свой проект.
git clone https://github.com/EveryInc/compound-engineering-plugin/blob/main/skills/ce-test-xcode/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
Копировать





Дом
