V
Vibeview
Pricing

YAML Test Format

Define test suites in YAML for version control, sharing, and migration.

Quick Start

  1. Go to the Tests Dashboard (/tests).
  2. Click Import YAML and upload a .yaml file.
  3. Your suite and test cases are created automatically.

VibeView YAML Schema

A VibeView YAML file defines a complete test suite with one or more test cases:

name: Checkout Flow
description: End-to-end checkout with payment
appId: com.example.shop
platform: ios
resetStrategy: clear_data
context: The user is logged in and has items in the cart
variables:
  username: testuser@example.com
  promo_code: SAVE20

cases:
  - name: Standard Checkout
    steps:
      - Tap on the Cart tab
      - Tap "Proceed to Checkout"
      - Enter shipping address
      - Select "Credit Card" payment method
      - Tap "Place Order"
    assertions:
      - Order confirmation screen is visible
      - Order number is displayed
    context: Use the default shipping address

  - name: Checkout with Promo Code
    steps:
      - Tap on the Cart tab
      - Tap "Proceed to Checkout"
      - Tap "Add Promo Code"
      - Type the promo code
      - Tap "Apply"
      - Tap "Place Order"
    assertions:
      - Discount is applied to the total
      - Order confirmation screen is visible

Field Reference

FieldRequiredDescription
nameYesSuite name. Used as the display name in the dashboard.
descriptionNoA brief description of what the suite tests.
appIdNoApp bundle ID (iOS) or package name (Android). If it matches an app in your organization, the suite is automatically linked.
platformNo"ios" or "android".
resetStrategyNoHow to reset the app between test cases: "clear_data" (default), "reinstall", or "relaunch".
contextNoInstructions for the AI agent that apply to all test cases in the suite.
variablesNoKey-value pairs available during test execution.
casesYesArray of test case definitions (see below).

Test Case Fields

FieldRequiredDescription
nameYesTest case name.
stepsYesArray of step strings. Each step is a plain-text instruction for the AI agent.
assertionsNoArray of assertion strings. Expected outcomes the AI agent verifies after executing steps.
contextNoPer-case instructions for the AI agent (supplements suite-level context).

Importing YAML

From the UI

  1. Open the Tests Dashboard (/tests).
  2. Click Import YAML.
  3. Select a .yaml file from your computer.
  4. VibeView creates the suite and its test cases from the file.

From the API

POST /api/v1/tests/suites/import-yaml
Content-Type: multipart/form-data
  • file (required) — the YAML file upload.
  • app_id (optional) — app public ID to link the suite to. If omitted, VibeView tries to match via the appId field in the YAML.

Response:

{
  "public_id": "checkout-flow-a1b2c3",
  "name": "Checkout Flow",
  "case_count": 2
}

If the YAML’s appId matches more than one app in your organization (for example, an iOS and a tvOS app sharing a bundle ID), the import does not create the suite. Instead it returns an ambiguity response listing the matching apps so you can re-import with an explicit app_id:

{
  "ambiguous": true,
  "app_bundle_id": "com.example.shop",
  "matching_apps": [
    { "public_id": "shop-app-d4e5f6", "name": "Shop App", "platform": "ios" },
    { "public_id": "shop-tv-g7h8i9", "name": "Shop TV", "platform": "tvos" }
  ],
  "suite_name": "Checkout Flow"
}

Exporting YAML

From the UI

  1. Open a suite’s detail page (/tests/:suiteId).
  2. Click Export YAML.
  3. A .yaml file downloads containing the full suite definition.

From the API

GET /api/v1/tests/suites/{suite_id}/export-yaml

Returns the suite as a YAML file download. The export includes all test cases with their steps, assertions, context, and recorded gesture data (for hybrid replay).

Example Files

Simple Login Test

name: Login Test
appId: com.example.myapp
platform: ios

cases:
  - name: Successful Login
    steps:
      - Tap on the "Email" field
      - Type "user@example.com"
      - Tap on the "Password" field
      - Type "password123"
      - Tap "Sign In"
    assertions:
      - Home screen is visible
      - Welcome message shows the user's name

Multi-Case Suite with Variables

name: Search and Filter
description: Tests the product search and filtering functionality
appId: com.example.shop
platform: android
resetStrategy: relaunch
context: Start from the home screen. The app has sample product data loaded.
variables:
  search_term: wireless headphones
  max_price: "50"

cases:
  - name: Basic Search
    steps:
      - Tap on the search bar
      - Type the search term
      - Tap the search button
    assertions:
      - Search results are displayed
      - Results contain items matching the search term

  - name: Filter by Price
    steps:
      - Tap on the search bar
      - Type the search term
      - Tap the search button
      - Tap "Filters"
      - Set maximum price to the max price value
      - Tap "Apply"
    assertions:
      - All displayed products are under the max price
      - Filter badge shows active filter count
    context: After search results load, the filter button appears in the top right