Selenas neleidžia lengvai suprasti, kas tai yra QTP? Tai mėgstama programuotojų, tačiau tai yra didelė kliūtis naujokams testuoti.
Kas yra selenas? Kas yra selenas RC? Kas yra "Webdriver"? Koks ryšys tarp RC ir Webdriver? Koks ryšys tarp "Webdriver" ir programavimo kalbų? Ar selenas gali vykdyti scenarijus lygiagrečiai?
Čia vabzdžių meistras paprastai pasako, kad jų sudėtingi santykiai yra sudėtingi. Ištiesinkite jų tarpusavio santykius, kad iš tikrųjų juo pasinaudotumėte.
Kas yra selenas?
Selenas yra žiniatinklio automatizavimo testavimo įrankių rinkinys, apimantis IDE, tinklelį, RC (selenas 1.0), WebDriver (selenas 2.0) ir kt. Selenium IDE yra įskiepiai Firefox naršyklės. Pateikite paprastas scenarijaus įrašymo, redagavimo ir atkūrimo funkcijas. Seleno tinklelis naudojamas bandymo žingsniams paskirstyti. Dabar jis integruotas į "Selenium Server". RC ir WebDriver turėtų būti vertinami labiau kaip specifikacijų rinkinys, apibrėžiantis kliento žingsnių sąveikos su naršykle protokolus. ir elementų padėties nustatymo ir manipuliavimo sąsaja.
Kas yra "WebDriver"? Studentams, kurie dar nėra susipažinę su seleno automatizuotu testavimu, nėra lengva suprasti, kas yra API ir kaip ji susijusi su programavimo kalbomis.
http://www.w3.org/TR/2013/WD-webdriver-20130117/
Kai pirmą kartą išmokau seleną (WebDriver), užtrukau savaitę, kol išverčiau šį dokumentą, bet nesupratau, kas tai yra. Tiesą sakant, tai yra pagrindinė protokolo specifikacija. Pavyzdžiui, "Webdriver" API sako, kad turime pateikti puslapio elementų ID paieškos metodą.
Kaip "Webdriver" organizuoja ir vykdo naudojimo atvejus?
Atsiprašome, webdriver nebus.
Šių puslapio elementų manipuliavimo ir testavimo rezultatų įvedimo metodų (naudojimo atvejų) organizavimas atliekamas programavimo kalbos vienetų testavimo sistema. Pavyzdžiui, "Java" "Junit" ir "TestNG" vienetų testavimo sistemos, "Python" "UnitTest" vienetų testavimo sistema ir kt.
Koks ryšys tarp Selenium RC ir WebDriver?
RC ir WebDriver yra panašūs tuo, kad juos galima vertinti kaip tinklalapių veikimo specifikacijų rinkinį. Žinoma, jie veikia skirtingai.
selenium RC naršyklėje paleidžia Javascrip{filter}t programą, naudodama naršyklėje įmontuotą Javascrip{filter}t vertėją, kad išverstų ir vykdytų seleno komandas (selenese yra seleno komandų rinkinys).
"WebDriver" valdo naršyklę tiesiogiai per vietinį naršyklės palaikymą arba naršyklės plėtinius. "WebDriver" sukurta atskiroms naršyklėms ir pakeičia "Javascrip{filtering}t", įterptą į bandomą žiniatinklio programą. Glaudi integracija su naršyklėmis leidžia kurti pažangesnius testus, išvengiant apribojimų, kuriuos sukelia Javascrip{filtering}t saugos modelis. Be naršyklės pardavėjų palaikymo, "WebDriver" taip pat naudoja OS lygio skambučius, kad imituotų vartotojo įvestį.
Atrodo, kad webdriver yra šiek tiek geriau. Siekiant išlaikyti suderinamumą, RC ir žiniatinklio tvarkyklė egzistuoja kartu su selenu 2.0, tačiau selenas 2.0 paprastai reiškia žiniatinklio tvarkyklę.
Skirtumas tarp lygiagrečios ir paskirstytos
Kai kuriems studentams įdomu, kaip lygiagrečiai vykdyti testavimo atvejus, o lygiagretumas reikalauja, kad "vienu metu" būtų vykdomi keli naudojimo atvejai, o tai taip pat realizuojama naudojant programavimo kalbų kelių gijų technologiją.
Ar "Selenium Grid" negali paskirstyti vykdymo, klausiate? Platinimo koncepcija yra parašyti naudojimo atvejį, kurį galima vykdyti skirtingose platformose, pvz., bandomąjį atvejį kompiuteryje A, galite paskambinti kompiuterio B ("Linux") "Firefox" naršyklei, kad paleistumėte bandomąjį atvejį kompiuteryje A; Taip pat galite paskambinti į "Chrome" naršyklę C kompiuteryje ("Windows"), kad paleistumėte bandomąjį atvejį kompiuteryje A. Tai yra paskirstymo sąvoka.
|