Automātiska tīmekļa pārbaude ar Ruby, Capybara un Selēnu

Šī apmācība ir vērsta uz to, lai parādītu, kā tos var izveidot projektiem, lai automātiski pārbaudītu tīmekļa lapas, ir virspusējs skaidrojums ar YouTube lapas testēšanas piemēru. Lai to labi saprastu, jums ir jābūt pamatjēdzieniem par Rubīnu.

PiezīmeŠis tests tika palaists Ubuntu 15.10, tāpēc es iesaku tā izpildei izmantot Linux, tomēr es ievietoju, kā instalēt programmas sistēmā Windows.

1. Instalējiet nepieciešamās prasības


Mums ir nepieciešams Rubīns un tā dārgakmeņi (ja izmantojat Mac, tas jau būs instalēts).

Ruby instalēšana operētājsistēmā Windows
Lai lejupielādētu instalētāju, noklikšķiniet uz šīs pogas:

LEJUPIELĀDĒT RUBIJU LOGIEM

Vispirms mēs lejupielādējam un instalējam R.uby uzstādītājs, (instalēšanas laikā noteikti pārbaudiet opciju pievienot Ruby logiem PATH), pēc tam izstrādes komplekts, izvelciet tā saturu diskā C mapē, kas jums būs jāizveido Es to saucu par Devkit, bet jūs to varat saukt kā vien vēlaties (skatiet šo attēlu).

Tagad atveriet Windows cmd un izpildiet tālāk sniegtos norādījumus:

 chdir C: \ Devkitruby dk.rb initruby dk.rb instalēt

Rubīna instalēšana operētājsistēmā Linux
Jaunākajās versijās mums jau ir instalēta Ruby, taču katram gadījumam tev jāskrien:

 sudo apt-get install rubysudo apt-get install rubygems
[color = # a9a9a9] Rubīna instalācija [/ krāsa]

Instalējiet pārējās nepieciešamās programmas (derīgs visām OS)
Nepieciešams instalēt gurķi, kas ir testēšanas rīks, kas palīdz mums veikt BDD.

 dārgakmens instalēt gurķi
Mums arī vajag instalējiet Capybara, kas ir īpaša valoda, kas palīdzēs mums mijiedarboties ar tīmekļa lapām.
 dārgakmens instalēt kapibāru
Un visbeidzot jums tas ir jādara instalēt selēnu, ir Capybara draiveris, izmanto pārlūkprogrammas JavaScript dzinēju un ļauj mums vizuāli redzēt, kā tests ir nokārtots.
 dārgakmens instalējiet selēna tīmekļa draiveri
Tas ir kaut kā lēns.

2. Izveidojiet projektu


Kad viss būs instalēts, mēs izveidosim sava projekta struktūru.

1. darbība
Izveidosim mapi, sauksim to Testēšana-selēns. Tā būs mape, kurā būs visi faili, kas mums būs nepieciešami, tāpēc mēs to varam uzskatīt par projekta saknes mapi.

2. solis
Mapes iekšpusē Testēšana-selēns (saknes mape) izveidosim mapi ar nosaukumu Iespējas. Kas saturēs visu, kas nepieciešams, lai palaistu procesu.

3. solis
Funkciju mapē mēs izveidojam vēl 2 mapes (solis_definīcijas Y atbalstu) un arī failu ar nosaukumu tests.iezīme.

4. solis
Step_definitions iekšpusē mēs izveidosim Ruby failu ar nosaukumu step_Youtube.rb. un tagad atbalsta mapē mēs izveidosim citu Ruby failu ar nosaukumu env.rb.

5. solis
Mēs aizpildām failu test.feature, tas tiks uzrakstīts formālā valodā (Gherkin), tas nosaka pārbaudījumu, kuru mēs vēlamies nokārtot valodā, kas ir saprotama ikvienam (pats tests ir skatuves daļa, pārējais ir apraksts). Tās saturs ir šāds:

 #language: is Raksturīgi: Iet uz youtube Kā testētājs vēlos ievadīt youtube, lai pārbaudītu meklēšanu Lai uzzinātu, vai viss darbojas labi Scenārijs: Pārbaudīt youtube Tā kā esmu youtube lapā Kad meklēju "Metallica One", tad varu ievadīt un skatieties videoklipu "https://www.youtube.com/watch?v=iT6vqeL-ysI"
Posma daļā mēs nevaram izmantot akcentus vai dīvainas rakstzīmes, un mainīgie ir iekļauti pēdiņās (tie būs dati, kas nodoti mūsu Rubīna kodam).

6. darbība
Ir pienākusi faila step_Youtube.rb kārta, Tieši Rubīna kods izturēs mūsu testus. Apskatiet kodu, kurā ir (Dots, Kad, Tātad) katra funkcija attiecas uz rindu, tie, kuriem iepriekš bija "mainīgie", saņem parametrus (1 katram mainīgajam. ), šim nolūkam ir jāizmanto regulārās izteiksmes. Zem koda.

 Tā kā/ es esmu youtube lapā $/ do apmeklējiet vietni https://www.youtube.com/?hl=lv&gl=EN 'end Kad (/ Es meklēju "([ ^"] *) "$ /) do | search | fill_in 'search_query' ,: ar => search click_button 'Search' beigas Tad ( / es varu ievadīt un noskatīties video "([ ^"] *) "$ /) do | video | rezultāti = visi ('a'). karte {| a | a ['href']} ja nav rezultātu. iekļaut? (video) paaugstināt "Video nav atrasts" beigu apmeklējuma (video) beigas
Šajā kodā otrajā funkcijā var redzēt search_query, šis manis neizdomātais nosaukums ir atribūts name, kas ir Youtube meklēšanas lodziņā.

Instrukcija: rezultāti = visi ('a'). karte {| a | a ['href']}Tas nodrošina visu lapas elementu sarakstu un no šī saraksta iegūst href atribūtu vērtības, saglabājot tās rezultātu mainīgajā, un tādā veidā mēs varam redzēt, vai vēlamais tīmeklis apmeklēt, ir lapā, šajā piemērā tas būs atkarīgs no tā, vai dziesma parādās pirmajā lapā, tādēļ, ja tests neparādās, tas iznāks sarkanā krāsā un, ja ne viss zaļā krāsā, es parādīšu attēlu vietnē izvades beigas).

7. solis
Mēs aizpildīsim pēdējo env.rb failu, tas ir konfigurācijas fails, tas norādīs lietojamo valodu, draiverus utt. Šajā gadījumā mēs izmantojam Capybara un Selēnu.

 pieprasīt 'capybara' pieprasīt 'capybara / dsl' Capybara.default_driver =: selēna modulis Helpers def without_resynchronize page.driver.options [: resynchronize] = nepatiesa raža page.driver.options [: resynchronize] = patiesa beigu beigu pasaule (Capybara :: DSL, palīgi)
Šeit jums ir kods.

3. Vadīt projektu


Ir pienācis laiks vadīt mūsu projektu lai pārbaudītu Youtube.

1. darbība
Mēs atveram termināli vai cmd un dodamies uz mapi Testing-Selenium, kur atrodas viss mūsu iepriekš izveidotais projekts.

2. solis
Mēs rakstām gurķi un dodam enter, Gurķis funkciju mapē meklēs .feature failus (šajā gadījumā ir tikai 1) un šo .features darbības (Ruby faili). Ja tas ir pareizi, mēs redzēsim, kā pārlūkprogramma atveras un sāk veikt testus. Ja jums nav definētas Ruby funkcijas, parādīsies ekrāns, kas norāda, ka darbības nav definētas, piemēram, šāds attēls:

Ja viss notiek pareizi, jums būs šāds ekrāns:

PiezīmeJa tas dod brīdinājumu un nekrāso krāsu sistēmā Windows, apmeklējiet šo krātuvi.

Ja vēlaties ātrāku pārbaudi, jums būs nepieciešama pārlūkprogramma bez grafiskā interfeisa (Phantomjs) un Poltergeist, kas ir Capybara draiveris (tāds pats kā Selēns), bet savienojas ar Phantomjs.

  • Instalējiet Poltergeist:
     dārgakmens instalēt poltergeist
  • Instalējiet Phantomjs:
     dārgakmens instalēt phantomjs

Ja vēlaties lejupielādēt visu projektu, es pievienoju zip (atcerieties, ka tests ir nokārtots Ubuntu):

Testēšana-Selenium.zip 1.71K 167 lejupielādes

Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave