Autonomy dokumentatsioon
Migreerimine

Ülevaade

Vii Playwrighti, Cypressi, Puppeteeri, Seleniumi, Appiumi, Maestro või mabli testikomplekt Autonomysse ühe viibaga oma kodeerimisagendile.

Sinu olemasolevad testid ütlevad juba, millised teekonnad on olulised. Neid ümbritsevad selektorid, ootamised, leheobjektid ja fixture'id on see osa, mis katki läheb. Migreerimine säilitab esimese ja jätab teise kõrvale: igast testist saab üks Autonomy testjuhtum, mis on kirjutatud mõne oodatud tulemuse sammuna, ja agent leiab klõpsud käivitamise ajal töötavast tootest ise.

Kuidas see toimib

  1. Ühenda oma kodeerimisagent Autonomyga MCP kaudu. Vaata Ühenda klient. Kui see küsib juurdepääsu, luba Create and edit test cases, Create and edit test plans ja Start runs. Lisa Create and edit environments, kui soovid, et see lisaks sinu eest keskkonna väärtused.
  2. Ava hoidla, kus testikomplekt asub, ja kleebi oma raamistiku lehelt viip.
  3. Agent alustab tööriistadega autonomy_project_list ja autonomy_environment_list, küsib sinult, millist projekti ja keskkonda kasutada, ning kontrollib tööriistaga autonomy_test_case_list, et katvust mitte dubleerida.
  4. See loob iga testi kohta tööriistaga autonomy_test_case_create ühe testjuhtumi, koondab need soovi korral tööriistaga autonomy_test_plan_create, käivitab ühe neist ja loeb tulemuse tööriistadega autonomy_run_get ja autonomy_run_step_actions.

Mõne testi puhul võid kasutada ka töölaual valikut Describe what to test: kirjelda teekonda või manusta .feature fail ja Autonomy koostab sammude mustandi. Vaata Koostamine.

Milleks test muutub

Sinu testikomplektisAutonomys
Üks test, spec või voogÜks testjuhtum samal platvormil: veeb, Android või API. iOS-i testimine tuleb peagi.
See, mida test tõestabSammud. Iga samm on tavaliste sõnadega oodatud tulemus, näiteks „Tellimus on märgitud makstuks“.
Klõpsud, trükkimine, selektorid, leheobjektidMitte midagi. Agent leiab need töötavast tootest ise.
Ootamised, sleep'id, korduskatsedMitte midagi. Agent ootab seda, mida oodatud tulemus vajab.
KinnitusedOodatud tulemuse tekst. Väärtusest, mida kinnitus puudutab, saab data manus, mis on märgitud Exact-väärtuseks.
Sisselogimise abifunktsioon, salvestatud autentimisolekSamm, näiteks „Poe omanik on sisse logitud“, millele on account-manusena lisatud salvestatud sisselogimine.
Paroolid, tokenid ja võtmedSalvestatud sisselogimine või salajane keskkonna väärtus, mida kasutatakse kujul {{env.NAME}}. Mitte kunagi literaalne väärtus sammus.
Baas-URL-id, rakenduse build'id, konfiguratsioonKeskkond: selle platvormi sihtmärgid ja väärtused.
Juhuslikud e-posti aadressid, nimed, paroolidFresh inbox per run (inbox) ja genereeritud andmed (data koos kavatsusega).
Üleslaadimise fixture'idfile-manus projekti jaotisest Files.
Ekraanipildi kutsedscreenshot-manus. Disainiga võrdlemise kohta vaata Visuaalsed kontrollid.
VõrgukontrollidOodatud tulemus selle kohta, mida kasutaja või API näeb. Käivitus säilitab iga päringu oma vahekaardil Network. Vaata API ja võrk.
Komplektid, describe-plokid, sildidSoovi korral testiplaan.

Testjuhtumis võib töölaual olla kuni 12 sammu ja API kaudu kuni 50. Hoia migreeritud testjuhtumid kuni 12 sammu pikkused, et inimesed saaksid neid ikka muuta; jaga pikem test mitmeks testjuhtumiks.

Näide

Playwrighti test:

test("sign up and apply a coupon", async ({ page }) => {
  await page.goto("/signup");
  await page.fill("#email", `qa+${Date.now()}@example.com`);
  await page.fill("#password", "Hunter2!Hunter2!");
  await page.click("button[type=submit]");
  await page.goto(await verificationLink());
  await expect(page.getByText("Email verified")).toBeVisible();
  await page.goto("/plans");
  await page.fill("[name=coupon]", "SPRING25");
  await expect(page.locator(".total")).toHaveText("$37.50");
});

muutub kolmeks oodatud tulemuse sammuks. Juhuslik e-posti aadress muutub värskeks postkastiks, parool genereeritud andmeteks ning kupong ja kogusumma on Exact, sest test käib just nende kohta:

{
  "projectId": "<project id>",
  "name": "Sign up and apply a coupon",
  "platforms": ["web"],
  "steps": [
    {
      "id": "s1",
      "text": "A new account exists for a fresh email.",
      "attachments": [
        { "id": "a1", "kind": "inbox", "exact": false },
        { "id": "a2", "kind": "data", "label": "Password", "intent": "a strong password", "exact": false }
      ]
    },
    {
      "id": "s2",
      "text": "The verification email arrives and its link verifies the account.",
      "attachments": []
    },
    {
      "id": "s3",
      "text": "On the Plans page, the coupon applies and the total shows $37.50.",
      "attachments": [
        { "id": "a3", "kind": "data", "label": "Coupon", "value": "SPRING25", "exact": true },
        { "id": "a4", "kind": "data", "label": "Total", "value": "$37.50", "exact": true }
      ]
    }
  ]
}

Kontomanus nimetab salvestatud sisselogimise selle kontonime järgi: { "id": "a5", "kind": "account", "role": "store-owner", "exact": false }. Sisselogimised salvestatakse töölaual projekti jaotises Sign-ins, seega küsib viip nende loomise asemel sinult nende nimesid.

Reeglid, mis hoiavad migreerimise ausana

  • Oodatud tulemused, mitte juhised. #btn-submit-2 ja waitForSelector ei ütle toote kohta midagi. „Tellimus on märgitud makstuks“ ütleb.
  • Üks test, üks testjuhtum. Ära ühenda teste ja ära lisa samme, mida test ei kontrollinud.
  • Exact ainult selle jaoks, mille kohta test käib. Kinnitatud hind, kupong, mis peab rakenduma, või telefoninumber, mis peab tagasi lükatama, on Exact. Kõik muu on testandmed: kui toode ütleb, et väärtus on juba kasutusel, kasutab agent värsket.
  • Sammudes pole saladusi. Mandaatidest saavad salvestatud sisselogimised või salajased keskkonna väärtused. Saladused täidetakse viitena ja agent ei näe neid kunagi.

Raamistike juhendid

Ei leidnud?

On this page