Kas ir selēns? Ievads selēna automatizācijas testēšanā

Satura rādītājs:

Anonim

Kas ir selēns?

Selenium ir bezmaksas (atvērtā koda) automatizēta testēšanas sistēma, ko izmanto, lai validētu tīmekļa lietojumprogrammas dažādās pārlūkprogrammās un platformās. Lai izveidotu selēna testa skriptus, varat izmantot vairākas programmēšanas valodas, piemēram, Java, C #, Python utt. Testēšanu, kas veikta, izmantojot selēna testēšanas rīku, parasti sauc par selēna testēšanu.

Selēna programmatūra ir ne tikai viens rīks, bet arī programmatūras komplekts, no kura katrs gabals atbilst dažādām selēna kvalitātes nodrošināšanas organizācijas vajadzībām. Šeit ir rīku saraksts

  • Selēna integrētā attīstības vide (IDE)
  • Selēna tālvadības pults (RC)
  • WebDriver
  • Selēna režģis
Ievads selēnā

Pašlaik Selenium RC un WebDriver ir apvienoti vienā sistēmā, lai izveidotu Selenium 2 . Selēns 1, starp citu, attiecas uz Selēnu RC.

Noklikšķiniet šeit, ja videoklips nav pieejams

Šajā apmācībā jūs uzzināsiet:

  • Kas ir selēns?
  • Kas izstrādāja selēnu?
  • Tā pati izcelsmes politikas problēma
  • Selēna tālvadības pults (Selenium RC) dzimšana
  • Selēna režģa dzimšana
  • Selēna IDE dzimšana
  • WebDriver dzimšana
  • Selēna 2 dzimšana
  • Tātad, kāpēc nosaukums Selēns?
  • Īss ievads Selēns IDE
  • Īss ievads Selēna tālvadības pults (Selenium RC)
  • Īss ievads WebDriver
  • Selēna režģis
  • Piezīme par pārlūka un vides atbalstu
  • Kā izvēlēties vajadzīgo selēna rīku
  • Selēna un QTP (tagad UFT) salīdzinājums
  • QTP priekšrocības salīdzinājumā ar selēnu

Kas izstrādāja selēnu?

Tā kā selēns ir dažādu rīku kolekcija, tam bija arī dažādi izstrādātāji. Tālāk ir norādītas galvenās personas, kuras devušas ievērojamu ieguldījumu Selēna projektā

Galvenokārt Selēnu 2004. gadā izveidoja Džeisons Hugginss . ThoughtWorks inženieris strādāja pie tīmekļa lietojumprogrammas, kas prasīja biežu testēšanu. Sapratis, ka viņu lietojuma atkārtotā manuālā testēšana kļūst arvien neefektīva, viņš izveidoja JavaScript programmu, kas automātiski kontrolētu pārlūka darbības. Viņš nosauca šo programmu par " JavaScriptTestRunner ".

Redzot šīs idejas potenciālu palīdzēt automatizēt citas tīmekļa lietojumprogrammas, viņš izveidoja JavaScriptRunner atvērtā koda kodu, kas vēlāk tika pārdēvēts par Selenium Core .

Tā pati izcelsmes politikas problēma

Tā pati izcelsmes politika aizliedz JavaScript kodam piekļūt elementiem no domēna, kas atšķiras no tā, kurā tas tika palaists . Piemērs: vietnes HTML.google.com HTML kods izmanto JavaScript programmu “randomScript.js”. Tā pati izcelsmes politika ļaus randomScript.js piekļūt tikai tādām google.com lapām kā google.com/mail, google.com/login vai google.com/signup. Tomēr tas nevar piekļūt dažādu vietņu lapām, piemēram, yahoo.com/search vai guru99.com, jo ​​tās pieder dažādiem domēniem.

Tas ir iemesls, kāpēc testētājiem pirms Selenium RC testēšanas bija jāinstalē gan Selenium Core (JavaScript programma), gan tīmekļa servera, kas satur testējamo tīmekļa lietojumprogrammu, kopijas, lai tās piederētu vienam domēnam

Selēna tālvadības pults (Selenium RC) dzimšana

Diemžēl; testētājiem, kas izmantoja Selenium Core, bija jāinstalē visa pārbaudāmā lietojumprogramma un tīmekļa serveris savos vietējos datoros, ņemot vērā tās pašas izcelsmes politikas noteiktos ierobežojumus . Tāpēc cits ThoughtWork inženieris Pols Hamants nolēma izveidot serveri, kas darbosies kā HTTP starpniekserveris, lai pārlūkprogrammu "maldinātu", uzskatot, ka Selenium Core un pārbaudāmā tīmekļa lietojumprogramma nāk no tā paša domēna. Šī sistēma kļuva pazīstama kā Selenium Remote Control vai Selenium 1 .

Selēna režģa dzimšana

Selenium Grid izstrādāja Patrick Lightbody, lai pēc iespējas samazinātu testa izpildes laiku. Sākotnēji viņš sistēmu sauca par “ Hosted QA ”. Tas varēja uzņemt pārlūkprogrammas ekrānuzņēmumus nozīmīgos posmos un vienlaikus nosūtīt Selenium komandas dažādām mašīnām.

Selēna IDE dzimšana

Japāniete Shinya Kasatani izveidoja Selenium IDE , Firefox paplašinājumu, kas var automatizēt pārlūku, izmantojot ierakstu atskaņošanas funkciju. Viņš nāca klajā ar šo ideju, lai vēl vairāk palielinātu testu izveidošanas ātrumu. Viņš Selenium IDE ziedoja Selenium projektam 2006. gadā .

WebDriver dzimšana

Saimons Stjuarts izveidoja WebDriver ap 2006. gadu, kad pārlūkprogrammas un tīmekļa lietojumprogrammas kļuva arvien spēcīgākas un ierobežojošākas ar tādām JavaScript programmām kā Selenium Core. Tas bija pirmais starpplatformu testēšanas ietvars, kas varēja kontrolēt pārlūku no OS līmeņa.

Selēna 2 dzimšana


In 2008 , viss selēns komanda nolēma apvienot WebDriver un selēns RC, lai veidotu vēl spēcīgs instruments, ko sauc Selēns 2 , ar WebDriver ir kodols . Pašlaik Selenium RC joprojām tiek izstrādāts, bet tikai apkopes režīmā. Lielākā daļa Selenium projekta pūļu tagad ir vērsta uz Selenium 2.

Tātad, kāpēc nosaukums Selēns?

Nosaukums Selēns nāca no joka, kuru Džeisons reiz izlauzis savai komandai. Selēna izstrādes laikā populārs bija vēl viens automatizēts testēšanas ietvars, ko izveidoja uzņēmums ar nosaukumu Mercury Interactive (jā, uzņēmums, kurš sākotnēji ražoja QTP, pirms to iegādājās HP). Tā kā selēns ir plaši pazīstams pretinde pret saindēšanos ar dzīvsudrabu, Džeisons ieteica šo vārdu un viņa komandas biedri to paņēma. Tātad, kā mums ir jāsauc šī sistēma līdz mūsdienām.

Īss ievads Selēns IDE

Selēna integrētā izstrādes vide (IDE) ir vienkāršākais ietvars selēna komplektā, un to ir visvieglāk iemācīties . Tas ir Firefox spraudnis, kuru jūs varat instalēt tikpat viegli kā citus spraudņus. Tomēr vienkāršības dēļ Selenium IDE ir jāizmanto tikai kā prototipu veidošanas rīks . Ja vēlaties izveidot uzlabotus testa gadījumus, jums būs jāizmanto Selenium RC vai WebDriver.

Īss ievads Selēna tālvadības pults (Selenium RC)

Selenium RC ilgu laiku bija visa Selenium projekta vadošā testēšanas sistēma . Šis ir pirmais automatizētais tīmekļa testēšanas rīks, kas lietotājiem ļāva izmantot sev vēlamo programmēšanas valodu . Kopš 2.25.0 versijas RC var atbalstīt šādas programmēšanas valodas:

  • Java
  • C #
  • PHP
  • Python
  • Perl
  • Rubīns

Īss ievads WebDriver

WebDriver sevi pierāda, ka daudzos aspektos tā ir labāka gan par Selenium IDE, gan par Selenium RC . Tas ievieš modernāku un stabilāku pieeju pārlūka darbību automatizēšanai. WebDriver, atšķirībā no Selenium RC, Selenium Automation Testing paļaujas nevis uz JavaScript. Tas kontrolē pārlūku, tieši sazinoties ar to.

Atbalstītās valodas ir tādas pašas kā Selenium RC.

  • Java
  • C #
  • PHP
  • Python
  • Perl
  • Rubīns

Selēna režģis

Selenium Grid ir rīks, ko izmanto kopā ar Selenium RC, lai vienlaikus veiktu paralēlus testus dažādās mašīnās un dažādās pārlūkprogrammās. Paralēla izpilde nozīmē vairāku testu izpildi vienlaikus.

Iespējas:

  • Ļauj vienlaicīgu darbību testu in vairākiem pārlūkiem un vidēs.
  • Milzīgi ietaupa laiku .
  • Izmanto centrmezgla un mezglu koncepciju. Centrmezgls darbojas kā centrālais selēna komandu avots katram ar to saistītajam mezglam.

Piezīme par pārlūka un vides atbalstu

Arhitektūras atšķirību dēļ Selenium IDE, Selenium RC un WebDriver atbalsta dažādus pārlūkprogrammu komplektus un darbības vidi.

Selēns IDE WebDriver
Pārlūka atbalsts Mozilla Firefox Internet Explorer versijas 6 līdz 11, gan 32, gan 64 bitu Microsoft Edge versija 12.10240 un jaunākas (daļēji atbalsta dažas izstrādes funkcijas) Firefox 3.0 un jaunākas versijas Google Chrome 12.0. un jaunākas operētājsistēmas Opera 11.5 un jaunākas versijas Android - 2.3 un jaunākas versijas tālruņiem un planšetdatoriem (ierīcēm un emulatoriem) iOS 3+ tālruņiem (ierīcēm un emulatoriem) un 3.2+ versijas planšetdatoriem (ierīcēm un emulatoriem) HtmlUnit 2.9 un jaunākas versijas
Operētājsistēma Windows, Mac OS X, Linux Visas operētājsistēmas, kurās var darboties iepriekš minētās pārlūkprogrammas.

Piezīme: Selenium WebDriver tiek saukts par Selenium RC pēcteci, kuru SeleniumHQ ir novecojis un oficiāli paziņojis.

Kā izvēlēties vajadzīgo selēna rīku

Rīks Kāpēc izvēlēties?

Selēns IDE

  • Lai uzzinātu par automatizētās testēšanas un selēna jēdzieniem, tostarp:
  • Selenese komandas, piemēram, type, open, clickAndWait, apgalvot, pārbaudīt utt.
  • Lokatori, piemēram, id, nosaukums, xpath, css selector utt.
  • Pielāgota JavaScript koda izpilde, izmantojot runScript
  • Pārbaudes gadījumu eksportēšana dažādos formātos.
  • Izveidot testus ar nelielām programmēšanas iemaņām vai bez tām.
  • Lai izveidotu vienkāršus testa gadījumus un testa komplektus, kurus vēlāk varat eksportēt uz RC vai WebDriver.
  • Lai pārbaudītu tīmekļa lietojumprogrammu tikai pret Firefox un Chrome.

Selēns RC

  • Izstrādāt testu, izmantojot izteiksmīgāku valodu nekā selēniešu
  • Lai testu palaistu dažādās pārlūkprogrammās (izņemot HtmlUnit) dažādās operētājsistēmās.
  • Lai izvietotu testus vairākās vidēs, izmantojot Selenium Grid.
  • Lai pārbaudītu lietojumprogrammu, izmantojot jaunu pārlūkprogrammu, kas atbalsta JavaScript.
  • Lai pārbaudītu tīmekļa lietojumprogrammas ar sarežģītiem uz AJAX balstītiem scenārijiem.

WebDriver

  • Lai izmantotu noteiktu programmēšanas valodu, izstrādājot testa gadījumu.
  • Lai pārbaudītu lietojumprogrammas, kurās ir daudz AJAX balstītu funkcionalitāti.
  • Lai veiktu testus pārlūkprogrammā HtmlUnit.
  • Lai izveidotu pielāgotus testa rezultātus.

Selēna režģis

  • Lai palaistu savus Selenium RC skriptus vienlaikus vairākās pārlūkprogrammās un operētājsistēmās.
  • Lai palaistu milzīgu testu komplektu, tas ir jāpabeidz pēc iespējas ātrāk.

Selēna un QTP (tagad UFT) salīdzinājums

Quick Test Professional (QTP) ir patentēts automatizēts testēšanas rīks, kas iepriekš piederēja uzņēmumam Mercury Interactive, pirms to 2006. gadā iegādājās Hewlett-Packard . Selenium Tool Suite ir daudz priekšrocību salīdzinājumā ar QTP, kā detalizēti aprakstīts tālāk -

Selēna priekšrocības un ieguvumi salīdzinājumā ar QTP

Selēns QTP
Atvērtā koda , bez maksas izmantojama un bez maksas. Komerciāla .
Ļoti paplašināms Ierobežoti papildinājumi
Var palaist testus dažādās pārlūkprogrammās Var veikt testus tikai pārlūkos Firefox , Internet Explorer un Chrome
Atbalsta dažādas operētājsistēmas Var izmantot tikai operētājsistēmā Windows
Atbalsta mobilās ierīces QTP atbalsta mobilo lietotņu testēšanas automatizāciju (iOS un Android), izmantojot HP risinājumu - HP Mobile Center
Var veikt testus, kamēr pārlūkprogramma ir samazināts līdz minimumam Pārbaudāmajai lietojumprogrammai jābūt redzamai darbvirsmā
Var paralēli veikt testus . Var izpildīt tikai paralēli, bet izmantojot kvalitātes centru, kas atkal ir apmaksāts produkts.

QTP priekšrocības salīdzinājumā ar selēnu

QTP priekšrocības salīdzinājumā ar selēnu
QTP Selēns
Var pārbaudīt gan tīmekļa, gan darbvirsmas lietojumprogrammas Var pārbaudīt tikai tīmekļa lietojumprogrammas
Nāk ar iebūvētu objektu krātuvi Nav iebūvēta objektu krātuves
Automatizējas ātrāk nekā Selēns, jo tas ir pilnībā aprīkots IDE. Automatizējas lēnāk, jo tai nav dzimtā IDE un izstrādei var izmantot tikai trešās puses IDE
Uz datiem balstītu testēšanu ir vieglāk veikt, jo tajā ir iebūvētas globālās un lokālās datu tabulas . Uz datiem balstīta pārbaude ir apgrūtinošāka, jo, lai iestatītu testa datu vērtības, jums jāpaļaujas uz programmēšanas valodas iespējām
Var piekļūt pārlūka vadīklām (piemēram, izlasei, adreses joslai, pogām Atpakaļ un Pārsūtīt utt.) Nevar piekļūt elementiem ārpus pārbaudāmās tīmekļa lietojumprogrammas
Nodrošina profesionālu klientu atbalstu Oficiāls lietotāju atbalsts netiek piedāvāts.
Ir vietēja spēja eksportēt testa datus ārējos formātos Nav vietējas iespējas eksportēt izpildlaika datus ārējos formātos
Parametrizācijas atbalsts ir izveidots Parametru var veikt, izmantojot programmēšanu, taču to ir grūti īstenot.
Testa ziņojumi tiek ģenerēti automātiski Nav testēšanas / kļūdu ziņojumu ģenerēšanas vietējā atbalsta.

Lai gan nepārprotami, QTP ir uzlabotas iespējas, selēns atsver QTP trīs galvenajās jomās:

  • Izmaksas (jo selēns ir pilnīgi bez maksas)
  • Elastība (pateicoties daudzām programmēšanas valodām, pārlūkiem un platformām, kuras tā var atbalstīt)
  • Paralēla pārbaude (kaut ko spēj QTP, bet tikai izmantojot kvalitātes centru)

Kopsavilkums

  • Viss Selenium programmatūras testēšanas komplekts sastāv no četriem komponentiem:
  • Selenium IDE, Firefox papildinājums, kuru varat izmantot tikai, lai izveidotu salīdzinoši vienkāršus testa gadījumus un testa komplektus.
  • Tālvadība Selenium, pazīstama arī kā Selenium 1, kas ir pirmais Selenium rīks, kas lietotājiem ļāva izmantot programmēšanas valodas, veidojot sarežģītus testus.
  • WebDriver - jaunākais sasniegums, kas ļauj testa skriptiem sazināties tieši ar pārlūku, tādējādi kontrolējot to no OS līmeņa.
  • Selenium Grid ir arī rīks, kas tiek izmantots kopā ar Selenium RC, lai paralēli veiktu testus dažādās pārlūkprogrammās un operētājsistēmās.
  • Selenium RC un WebDriver tika apvienoti, veidojot Selenium 2.
  • Selēns ir izdevīgāks nekā QTP izmaksu un elastības ziņā. Tas arī ļauj jums veikt testus paralēli, atšķirībā no QTP, kur jums ir atļauts veikt testus tikai secīgi.