scout-migrate-from-ftr

Migrate Kibana Functional Test Runner tests to Scout testing framework.

21.2k|8.6k|Updated Jan 26, 2013
One-click install
npx skills add https://github.com/elastic/kibana --skill scout-migrate-from-ftr
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: scout-migrate-from-ftr
Source: https://github.com/elastic/kibana/tree/main/.agents/skills/scout-migrate-from-ftr
Command: npx skills add https://github.com/elastic/kibana --skill scout-migrate-from-ftr

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill streamlines the migration of legacy Kibana Functional Test Runner (FTR) tests to the modern Scout testing framework, ensuring test suites are efficient, maintainable, and aligned with current best practices.

Core Features & Use Cases

  • Strategic Test Conversion: Guides decisions on migrating tests to UI or API-based Scout tests.
  • Fixture Mapping: Assists in translating FTR concepts like services and page objects to Scout fixtures.
  • Suite Restructuring: Helps rewrite loadTestFile-based suites into independent Scout specifications.
  • Use Case: A team needs to migrate a large suite of FTR tests for a Kibana feature. This Skill provides a step-by-step process to analyze each FTR test, determine its optimal Scout equivalent (UI, API, or component test), and refactor it correctly, ensuring parity and improving test performance.

Quick Start

Use the scout-migrate-from-ftr skill to migrate the FTR test located at 'test/functional/specs/my_feature.ts' to Scout.

Frequently Asked Questions about scout-migrate-from-ftr

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate Kibana FTR tests to Scout?

Migrate Kibana FTR tests to Scout by analyzing each legacy test, deciding on a UI or API conversion strategy, mapping FTR services and page objects to Scout fixtures, and rewriting `loadTestFile` suites into independent specifications. This process ensures parity and improves test performance.

What is the best way to map FTR services and page objects when converting tests to Scout?

Mapping FTR services and page objects to Scout requires translating legacy dependencies into Scout fixtures. This structural conversion replaces FTR service injection with fixture-based setups, ensuring adhere to Scout best practices for maintainability and parallel execution.

How do I restructure `loadTestFile` suites into standalone Scout specifications?

Restructuring `loadTestFile` suites involves breaking down shared test file dependencies and rewriting them as independent Scout specifications. This suite restructuring eliminates tightly coupled FTR execution flows, enabling better maintainability and parallel execution in the Scout framework.

When should I convert a Kibana Functional Test Runner test to a Scout UI test versus an API test?

Deciding between a Scout UI or API test conversion depends on the FTR test's original interaction layer. You analyze whether the test validates visual interface behavior or backend data flows, then strategically convert it to the appropriate Scout test type for optimal coverage.

Can I migrate a large suite of FTR tests for a Kibana feature to Scout efficiently?

Migrating a large suite of FTR tests for a Kibana feature is supported by a step-by-step process to analyze each test, determine its optimal Scout equivalent, and refactor it correctly. This ensures structural parity while improving overall test performance.

Why does migrating FTR tests to Scout improve test maintainability?

Migrating FTR tests to Scout improves maintainability by replacing tightly coupled `loadTestFile` suites and services with standalone Scout specifications and fixtures. This modernized structure aligns with current best practices and enables efficient parallel execution.