Cypress
Muuda iga Cypressi test üheks oodatud tulemuste sammudest koosnevaks Autonomy testjuhtumiks, ilma selle cy.get ahelate, intercept'ide ja kohandatud käskudeta.
Cypressi testikomplektid kannavad palju raamistiku raskust: cy.get ahelad, cy.intercept aliased ja Cypress.Commands.add abifunktsioonid. Midagi sellest üle ei tule. Üle tuleb see, mida iga test tõestab.
Viip
Kleebi see hoidla seest kodeerimisagenti, mis on ühendatud Autonomy MCP-serveriga:
Migreeri selle hoidla Cypressi testid Autonomy MCP tööriistadega Autonomysse.
Seadistamine
1. Kutsu autonomy_project_list ja küsi minult, millist projekti kasutada. Kutsu autonomy_environment_list selle projectId-ga ja küsi minult, millises keskkonnas käivitada.
2. Kutsu autonomy_test_case_list selle projectId-ga. Jäta vahele testid, mida mõni olemasolev testjuhtum juba katab.
Iga testi jaoks
3. Loo tööriistaga autonomy_test_case_create ÜKS testjuhtum: projectId, name = it() pealkiri, platforms = ["web"].
4. Kirjuta iga samm oodatud tulemusena: mis on tõsi, kui samm on tehtud, tavaliste sõnadega („Uue e-posti aadressi jaoks on olemas uus konto“). Ütle, mida test tõestab, mitte kuidas: ei mingeid klõpse, selektoreid, ootamisi, korduskatseid ega should-kutseid. Üks samm võib hõlmata mitut tegevust, mis teenivad üht oodatud tulemust. Kasuta kuni 12 sammu; jaga pikem test mitmeks testjuhtumiks.
5. Iga samm on {id, text, attachments[]}. Igal manusel on id, kind ja exact. Liigid: account {role}, inbox (ilma aadressita = iga käivituse jaoks värske postkast), phone, file, screenshot, data {label, value} või genereeritud andmete jaoks {label, intent}.
6. Ära kunagi kirjuta sammu parooli, tokenit ega võtit. Iga konto puhul, millega testikomplekt sisse logib (cy.login, cy.session, fixture'id), palu mul see töölaual salvestada (projekti Sign-ins, New sign-in) ja öelda sulle selle kontonimi, ning alusta testi sammuga, näiteks „Poe omanik on sisse logitud“, millele on see konto manustatud. Muude Cypress.env-is olevate saladuste jaoks paku välja nimed ja viita neile kujul {{env.NAME}}; lisa need saladustena tööriistaga autonomy_environment_upsert alles pärast minu nõusolekut.
7. Väärtused, mille kohta test käib (tekst või number, mida should kontrollib, kupong, mis peab rakenduma, sisend, mis peab tagasi lükatama): data-manus väärtusega exact: true. Muu konfiguratsioon: {{env.NAME}}.
8. Registreerimisandmed (e-posti aadressid, nimed, paroolid, juhuslikud järelliited): värske postkast ja genereeritud andmed, mitte kunagi fikseeritud väärtus.
9. Too iga cypress/support kaustas olev kohandatud käsk sisse sellesse, mida test tõestab. Jäta cy.intercept stub'id kõrvale: käivitused testivad päris toodet. Kui test töötab ainult stub'itud vastustega, ära seda migreeri, vaid loetle see. Muuda cy.wait('@alias') kontrollid oodatud tulemuseks selle kohta, mida kasutaja näeb.
Pärast seda
10. Kui testikomplekt rühmitab teste (describe- ja context-plokid, spec-kaustad, sildid), paku iga rühma jaoks tööriistaga autonomy_test_plan_create testiplaani loomist.
11. Käivita üks migreeritud testjuhtum tööriistaga autonomy_run_trigger minu valitud keskkonnas. Jälgi seda tööriistaga autonomy_run_get (anna kaasa viimane cursor ja waitMs), kuni see lõpeb. Iga sammu puhul, mis ei läbinud, loe autonomy_run_step_actions ja ütle mulle, mis juhtus.
12. Lõpeta tabeliga: lähtetest, testjuhtumi ID, sammude arv ja kõik, mida sa vastendada ei saanud.Vastendus
| Cypress | Autonomy |
|---|---|
it() | Üks testjuhtum. |
describe(), context(), spec-kaustad | Soovi korral testiplaan. |
cy.visit, cy.get(...).click(), type(), data-cy konksud | Sulanduvad sammu oodatud tulemusse. Agent leiab juhtelemendid ise. |
should("contain", "Order placed") | Oodatud tulemus, kus Order placed on data-manus, mis on märgitud Exact-väärtuseks. |
cy.wait(ms), korduskatsed, ajalimiidid | Jäetakse kõrvale. |
cy.login(), cy.session() | Sisselogimise samm, millele on account-manusena lisatud salvestatud sisselogimine. |
| Kohandatud käsud | Sulanduvad neid kutsuvate testide oodatud tulemustesse. |
cy.fixture() andmed | Exact-andmed, kui test neid kontrollib, muul juhul testandmed või {{env.NAME}}. Mandaatidest saavad sisselogimised. |
Cypress.env("X") | {{env.X}}, mandaadi puhul märgitud saladuseks. |
baseUrl | Keskkonna Web sihtmärk. |
selectFile() | file-manus projekti jaotisest Files. |
cy.screenshot() | screenshot-manus. |
cy.intercept() stub'id | Ei migreerita. Käivitused kasutavad päris toodet. |
cy.wait("@alias") kontrollid | Oodatud tulemus selle tulemuse kohta. Käivitus säilitab iga päringu oma vahekaardil Network. |
cy.request() API-testid | Testjuhtum API platvormil. Vaata API ja võrk. |
Läbitöötatud näite leiad migreerimise ülevaatest.
Ei leidnud?
Playwright
Muuda iga Playwrighti test üheks oodatud tulemuste sammudest koosnevaks Autonomy testjuhtumiks, ilma selle lokaatorite, ootamiste ja leheobjektideta.
Puppeteer
Muuda Puppeteeri ja jest-puppeteeri testid oodatud tulemuste sammudest koosnevateks Autonomy testjuhtumiteks, ilma waitForSelectori ja käsitsi kirjutatud korduskatse tsükliteta.