Autonomy dokumentatsioon
Migreerimine

Puppeteer

Muuda Puppeteeri ja jest-puppeteeri testid oodatud tulemuste sammudest koosnevateks Autonomy testjuhtumiteks, ilma waitForSelectori ja käsitsi kirjutatud korduskatse tsükliteta.

Puppeteeri skriptid on imperatiivsed ja segavad sageli testimist andmete kraapimisega. Migreeri ainult skriptid, mis kontrollivad, kuidas sinu toode käitub; jäta andmekogumise skriptid sinna, kus need on.

Viip

Kleebi see hoidla seest kodeerimisagenti, mis on ühendatud Autonomy MCP-serveriga:

Codetext
Migreeri selle hoidla Puppeteeri 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 = testi pealkiri, platforms = ["web"]. Jäta vahele skriptid, mis ainult koguvad andmeid ega kontrolli midagi; loetle need hoopis.
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 expect-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 skriptid sisse logivad, 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 process.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 (väärtus, mis loetakse page.$eval või page.evaluate abil ja mida expect 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. Jäta kõrvale waitForSelector, waitForNavigation, sleep'id ja korduskatse tsüklid. Jäta kõrvale päringute pealtkuulamine, mis ainult stub'ib vastuseid: käivitused testivad päris toodet. Kui test töötab ainult stub'itud vastustega, ära seda migreeri, vaid loetle see.

Pärast seda
10. Kui testikomplekt rühmitab teste (describe-plokid, failid), 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

PuppeteerAutonomy
Üks test() või skriptÜks testjuhtum.
describe() plokid, failidSoovi korral testiplaan.
page.goto, page.click, page.type, selektoridSulanduvad sammu oodatud tulemusse. Agent leiab juhtelemendid ise.
page.$eval või page.evaluate, mille tulemust kontrollib expectOodatud tulemus, kus oodatud väärtus on data-manus, mis on märgitud Exact-väärtuseks.
waitForSelector, waitForNavigation, sleep'id, korduskatse tsüklidJäetakse kõrvale.
Sisselogimise abifunktsioonid, käsitsi seatud küpsisedSisselogimise samm, millele on account-manusena lisatud salvestatud sisselogimine.
process.env.X{{env.X}}, mandaadi puhul märgitud saladuseks.
Baas-URL-i konstandidKeskkonna Web sihtmärk.
uploadFile()file-manus projekti jaotisest Files.
page.screenshot()screenshot-manus.
setRequestInterception stub'idEi migreerita. Käivitused kasutavad päris toodet.
Vastuste kuularid, mis kontrollivad päringutOodatud tulemus selle tulemuse kohta. Käivitus säilitab iga päringu oma vahekaardil Network.
KraapimisskriptidEi migreerita.

Läbitöötatud näite leiad migreerimise ülevaatest.

Ei leidnud?

On this page