Dokumentace

Kaloko

Stáhnout
Markdown s obrázky (.zip)Složka pro Docusaurus (.zip)Složka pro VitePress (.zip)Složka pro MkDocs (.zip)HTML pro offline čtení (.zip)PDFNovinky jako JSON
Stránky

Soubor scénáře

Scénář je soubor YAML (obvykle v qa/flows/), který popisuje jedno flow: jeho kroky, šipky mezi nimi a to, co má každý krok splnit. Jeho formát je qawalk.scenario.v1; kaloko validate <soubor> soubor podle něj zkontroluje. Jak scénář napsat krok za krokem: Napsat scénář.

schema: qawalk.scenario.v1
id: WEB-12-checkout
title: Checkout
locales: [en, cs]
viewports: { desktop: [1280, 800], mobile: iphone-15 }
environments: [local, staging]
nodes:
  - id: cart
    kind: screen
    title: { en: Cart, cs: Košík }
    path: /cart
    purpose: The shopper sees what they are buying and can continue.
    execution: { strategy: playwright, script: steps/cart.mjs, instructions: Add one product and open the cart. }
    criteria:
      - { id: AC1, text: Shows the total, check: { type: deterministic, assert: exists, selector: .cart-total } }
  - id: payment
    kind: screen
    title: Payment
    path: /checkout/payment
    packs: [a11y]
edges:
  - { from: cart, to: payment }

Klíče nejvyšší úrovně

Povinné jsou schema, id, title, nodes a edges.

KlíčCo obsahuje
schemavždy qawalk.scenario.v1
idid scénáře (malá písmena, číslice, pomlčky); úkol v něm (WEB-12-…) propojí issue
titlenázev pro lidi
kindtask (výchozí) nebo flow
archivedtrue skryje vyřazený scénář ze seznamu; jeho běhy zůstanou dostupné
sourcecesta k akceptačnímu plánu (ACCEPTANCE.md), používá ji kaloko validate --coverage
versiončíslo, které zvýšíte, když se flow změní
localesjazyky, ve kterých se prochází, např. [en, cs]
viewportsnázvy s velikostí ([1280, 800]), předvolba zařízení (iphone-15, ipad-landscape) nebo seznam předvoleb
browserschromium (výchozí), webkit, firefox
color_schemeslight, dark
reduced_motionno-preference, reduce
forced_colorsnone, active (vysoký kontrast ve Windows)
display_modesbrowser, standalone (nainstalovaná webová aplikace)
devicesscénáře aplikací: emulátory, simulátory nebo telefony, na kterých se prochází
environmentsprostředí z konfigurace, na kterých scénář smí běžet
readonlytrue u scénáře, který jen čte; na prostředí jen pro čtení je povinné
platformweb (výchozí), android, ios, electron, desktop, windows
tagsvolné štítky
nodeskroky (níže)
edgesšipky mezi kroky (níže)
lanespopisky řádků na plachtě, index = číslo řádku
issueúkol: number, repo (owner/name), key (Jira nebo Linear, ENG-42), url, title
sessionslidé ve flow, každý s title, volitelně mailbox, account, blocked_on
projectprojekt v Kaloku pro jeho běhy; přebije konfiguraci
product, modulekterý produkt a modul z products: flow ukazuje, pro changelog a dokumentaci
capturekvalita snímků pro všechny kroky (níže)

Klíče kroku (nodes)

Každý krok potřebuje id, kind a title.

KlíčCo obsahuje
idid kroku, používá se v odkazech, v --steps a v odkazech na kroky (kaloko:<scénář>/<krok>)
kindscreen, email, external (obrazovka třetí strany), decision, stack (mnoho stránek jedné šablony)
titletext, nebo jeden pro každý jazyk ({ en: Cart, cs: Košík })
pathadresa vůči base_url, nebo jedna pro každý jazyk; ve scénářích aplikací deep link; {random} vytvoří adresu, která nemůže existovat
purposejedna věta o tom, k čemu krok slouží; čte ji evaluátor
laneřádek na plachtě
readonlykrok jen čte
executionstrategy (playwright, script, agent, manual), script (cesta ke skriptu kroku), instructions (povinné), requires (např. browser)
maile-mailové kroky: subject a to
criteriaco má krok splnit (níže)
sessionkterý člověk ze sessions krok dělá
affectsmasky souborů, které krok ovlivňují, pro kaloko walk --affected, nebo always
packshotové sady kritérií: seo, usability, a11y, perf, console, errors, app, design
capturekvalita snímků jen pro tento krok
recordtrue nahraje video kroku, i když průchod nenahrává; false nikdy
ignoreoblasti vynechané z porovnání pixelů: { selector } nebo { rect: [x, y, w, h], viewport }, volitelně omezené přes viewports, locales, s poznámkou note
itemsstack kroky: odkud se berou stránky (urls, file, sitemap s match/exclude, crawl, script)
fieldsstack kroky: až 12 sloupců indexu stacku (id, label, from)

Kritéria

Každé kritérium má id (AC1, AC12b), text pro lidi, volitelně highlight (CSS selektor, který se na screenshotu orámuje) a právě jednu kontrolu check: deterministic, semantic nebo manual. Všechny typy kontrol a jejich volby najdete v Kritéria, kontroly a packy.

Šipky (edges)

KlíčCo obsahuje
from, toid kroků
labeltext u šipky, třeba volba v rozhodnutí
kindmain (výchozí), nebo alt pro alternativní cestu

Snímky (capture)

KlíčCo obsahuje
formatwebp (výchozí), nebo png (bezeztrátový, pro tisk)
scale1 nebo 2 (pixely zařízení na snímku)
qualitykvalita WebP od 0,3 do 1
maskCSS selektory, které na obrázku zakryje plný obdélník
annotateočíslované značky u prvků kritérií s highlight
full_pagecelá stránka (výchozí), nebo s false jen první obrazovka
recordtrue, step, flow, failed nebo off; viz kaloko walk --record
traceke každému kroku záznam akcí, požadavků a konzole (výchozí true)

capture kroku má přednost před scénářem a scénář před konfigurací.

Na této stránceNa této stránce