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:
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
| Puppeteer | Autonomy |
|---|---|
Üks test() või skript | Üks testjuhtum. |
describe() plokid, failid | Soovi korral testiplaan. |
page.goto, page.click, page.type, selektorid | Sulanduvad sammu oodatud tulemusse. Agent leiab juhtelemendid ise. |
page.$eval või page.evaluate, mille tulemust kontrollib expect | Oodatud tulemus, kus oodatud väärtus on data-manus, mis on märgitud Exact-väärtuseks. |
waitForSelector, waitForNavigation, sleep'id, korduskatse tsüklid | Jäetakse kõrvale. |
| Sisselogimise abifunktsioonid, käsitsi seatud küpsised | Sisselogimise samm, millele on account-manusena lisatud salvestatud sisselogimine. |
process.env.X | {{env.X}}, mandaadi puhul märgitud saladuseks. |
| Baas-URL-i konstandid | Keskkonna Web sihtmärk. |
uploadFile() | file-manus projekti jaotisest Files. |
page.screenshot() | screenshot-manus. |
setRequestInterception stub'id | Ei migreerita. Käivitused kasutavad päris toodet. |
| Vastuste kuularid, mis kontrollivad päringut | Oodatud tulemus selle tulemuse kohta. Käivitus säilitab iga päringu oma vahekaardil Network. |
| Kraapimisskriptid | Ei migreerita. |
Läbitöötatud näite leiad migreerimise ülevaatest.
Ei leidnud?
Cypress
Muuda iga Cypressi test üheks oodatud tulemuste sammudest koosnevaks Autonomy testjuhtumiks, ilma selle cy.get ahelate, intercept'ide ja kohandatud käskudeta.
Selenium
Muuda Javas, Pythonis, C#-is või JavaScriptis kirjutatud Selenium WebDriveri testid oodatud tulemuste sammudest koosnevateks Autonomy testjuhtumiteks, ilma leheobjektide ja selgesõnaliste ootamisteta.