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.
Seleniumi testikomplektid erinevad keele poolest, kuid nende kuju on sama: draiver, lokaatorid, selgesõnalised ootamised ja leheobjektid. Migreerimine ei sõltu keelest, sest kodeerimisagent loeb, mida iga test kontrollib, mitte selle sidumisi.
Viip
Kleebi see hoidla seest kodeerimisagenti, mis on ühendatud Autonomy MCP-serveriga:
Migreeri selle hoidla Seleniumi 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 = testimeetodi nimi või kuvatav nimi, 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, lokaatoreid, ootamisi, korduskatseid ega assert-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 (sisselogimise leheobjektid, seadistusmeetodid, properties-failid), 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 konfiguratsioonifailides või keskkonnamuutujates 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, mille getText() assert'ile tagastab, 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 leheobjektide meetodid sisse sellesse, mida test tõestab; jäta nende lokaatorid kõrvale. Jäta kõrvale WebDriverWait, ExpectedConditions, Thread.sleep ja korduskatse reeglid. Andmepõhiste testide puhul loo iga rea kohta eraldi testjuhtum ainult siis, kui read ootavad erinevaid tulemusi; muul juhul kasuta testandmeid.
Pärast seda
10. Kui testikomplekt rühmitab teste (klassid, TestNG grupid, JUniti sildid, pytesti markerid), 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
| Selenium | Autonomy |
|---|---|
| Üks testimeetod | Üks testjuhtum. |
| Testiklassid, grupid, sildid, markerid | Soovi korral testiplaan. |
driver.get, click, sendKeys, By.* lokaatorid, leheobjektid | Sulanduvad sammu oodatud tulemusse. Agent leiab juhtelemendid ise. |
assertEquals("Order placed", el.getText()) | Oodatud tulemus, kus Order placed on data-manus, mis on märgitud Exact-väärtuseks. |
WebDriverWait, ExpectedConditions, sleep'id, korduskatse reeglid | Jäetakse kõrvale. |
| Sisselogimise leheobjektid, seadistusmeetodid | Sisselogimise samm, millele on account-manusena lisatud salvestatud sisselogimine. |
| Mandaadid ja konfiguratsioon properties-failides | Kontode jaoks sisselogimised; ülejäänu jaoks {{env.NAME}}, mandaadi puhul märgitud saladuseks. |
| Baas-URL | Keskkonna Web sihtmärk. |
sendKeys failiteega | file-manus projekti jaotisest Files. |
getScreenshotAs | screenshot-manus. |
| Andmepakkujad, parameetrilised testid | Iga rea kohta üks testjuhtum ainult siis, kui read ootavad erinevaid tulemusi. |
| Grid ja brauseri võimekused | Pole vaja. Veebikäivitused kasutavad värsket Chrome'i. |
Läbitöötatud näite leiad migreerimise ülevaatest.
Ei leidnud?
Puppeteer
Muuda Puppeteeri ja jest-puppeteeri testid oodatud tulemuste sammudest koosnevateks Autonomy testjuhtumiteks, ilma waitForSelectori ja käsitsi kirjutatud korduskatse tsükliteta.
Appium
Muuda Javas, Pythonis või JavaScriptis kirjutatud Appiumi testid oodatud tulemuste sammudest koosnevateks Autonomy Androidi testjuhtumiteks, ilma võimekuste, draiverite ja lokaatoriteta.