Ü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
- Ü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.
- Ava hoidla, kus testikomplekt asub, ja kleebi oma raamistiku lehelt viip.
- Agent alustab tööriistadega
autonomy_project_listjaautonomy_environment_list, küsib sinult, millist projekti ja keskkonda kasutada, ning kontrollib tööriistagaautonomy_test_case_list, et katvust mitte dubleerida. - See loob iga testi kohta tööriistaga
autonomy_test_case_createühe testjuhtumi, koondab need soovi korral tööriistagaautonomy_test_plan_create, käivitab ühe neist ja loeb tulemuse tööriistadegaautonomy_run_getjaautonomy_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 testikomplektis | Autonomys |
|---|---|
| Üks test, spec või voog | Üks testjuhtum samal platvormil: veeb, Android või API. iOS-i testimine tuleb peagi. |
| See, mida test tõestab | Sammud. Iga samm on tavaliste sõnadega oodatud tulemus, näiteks „Tellimus on märgitud makstuks“. |
| Klõpsud, trükkimine, selektorid, leheobjektid | Mitte midagi. Agent leiab need töötavast tootest ise. |
| Ootamised, sleep'id, korduskatsed | Mitte midagi. Agent ootab seda, mida oodatud tulemus vajab. |
| Kinnitused | Oodatud tulemuse tekst. Väärtusest, mida kinnitus puudutab, saab data manus, mis on märgitud Exact-väärtuseks. |
| Sisselogimise abifunktsioon, salvestatud autentimisolek | Samm, näiteks „Poe omanik on sisse logitud“, millele on account-manusena lisatud salvestatud sisselogimine. |
| Paroolid, tokenid ja võtmed | Salvestatud sisselogimine või salajane keskkonna väärtus, mida kasutatakse kujul {{env.NAME}}. Mitte kunagi literaalne väärtus sammus. |
| Baas-URL-id, rakenduse build'id, konfiguratsioon | Keskkond: selle platvormi sihtmärgid ja väärtused. |
| Juhuslikud e-posti aadressid, nimed, paroolid | Fresh inbox per run (inbox) ja genereeritud andmed (data koos kavatsusega). |
| Üleslaadimise fixture'id | file-manus projekti jaotisest Files. |
| Ekraanipildi kutsed | screenshot-manus. Disainiga võrdlemise kohta vaata Visuaalsed kontrollid. |
| Võrgukontrollid | Oodatud 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, sildid | Soovi 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-2jawaitForSelectorei ü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?