Automatsko testiranje weba s Rubyjem, Capybarom i Selenom

Ovaj je vodič usmjeren na to da vam pokaže kako se mogu stvoriti projekti za automatsko testiranje web stranica, ima površno objašnjenje s primjerom testiranja na stranici YouTube. Morat ćete imati osnovne pojmove o Ruby da biste ga dobro razumjeli.

BilješkaOvaj je test pokrenut u Ubuntuu 15.10, stoga preporučujem korištenje Linuxa za njegovo izvršavanje, međutim postavio sam kako instalirati programe u sustavu Windows.

1. Instalirajte potrebne zahtjeve


Trebamo Ruby i njegove dragulje (ako koristite Mac, već ćete ga imati instaliranog).

Instaliranje Ruby na Windows
Za preuzimanje instalacijskog programa kliknite sljedeći gumb:

PREUZMITE RUBIN ZA PROZORE

Prvo preuzimamo i instaliramo Ruby instalater, (u instalaciji provjerite opciju za dodavanje Ruby u Windows PATH), a zatim razvojni komplet, ekstrahirajte njegov sadržaj na disk C u mapu koju ćete morati stvoriti Zovem je Devkit, ali možete je zvati kako god želite (pogledajte sljedeću sliku).

Sada otvorite Windows cmd i izvršite sljedeće upute:

 chdir C: \ Devkitruby dk.rb initruby dk.rb instaliraj

Ruby instalacija na Linuxu
U najnovijim verzijama već imamo instaliran Ruby, ali za svaki slučaj, morate trčati:

 sudo apt-get install rubysudo apt-get install rubygems
[color = # a9a9a9] Ruby instalacija [/ color]

Instalirajte ostale potrebne programe (vrijedi za sve OS)
Potreba instalirajte Krastavac, koji je alat za testiranje koji nam pomaže u izvođenju BDD -a.

 dragulj instalirati krastavac
Također nam treba instalirajte Capybara, koji je specifičan jezik koji će nam pomoći u interakciji s web stranicama.
 dragulj instalirati capybara
I na kraju morate instalirajte selen, je upravljački program za Capybara, koristi JavaScript mehanizam preglednika i omogućuje nam da vidimo kako se test vizualno prolazi.
 dragulj instalirati selenium-webdriver
To je nekako sporo.

2. Kreirajte projekt


Nakon što sve instaliramo, stvorit ćemo strukturu našeg projekta.

Korak 1
Napravimo mapu, nazovimo je Testiranje-selen. To će biti mapa koja će sadržavati sve datoteke koje će nam trebati, stoga je možemo smatrati korijenskom mapom projekta.

Korak 2
Unutar mape Testiranje-selen (korijenska mapa) stvorimo mapu pod nazivom obilježja. Koji će sadržavati sve što vam je potrebno za pokretanje procesa.

Korak 3
Unutar mape sa značajkama stvaramo još 2 mape (step_definitions Y podršku), a također i datoteku pod nazivom test.osobina.

Korak 4
Unutar step_definitions stvorit ćemo Ruby datoteku pod nazivom step_Youtube.rb. i sada ćemo unutar mape za podršku stvoriti drugu Ruby datoteku pod nazivom env.rb.

Korak 5
Ispunimo datoteku test.feature, bit će napisan formalnim jezikom (kornišon), definira test koji želimo proći na jeziku koji je razumljiv svima (Sam test je scenski dio, ostalo je opis) U. Njegov sadržaj je sljedeći:

 #language: is Characteristic: Idite na youtube Kao tester, želim ući na youtube kako bih testirao pretraživanje Da znam da li sve funkcionira dobro Scenarij: Testirajte youtube Budući da sam na stranici youtube Kad tražim "Metallica One", tada mogu ući i pogledajte video "https://www.youtube.com/watch?v=iT6vqeL-ysI"
U scenskom dijelu ne možemo koristiti naglaske ili čudne znakove, a varijable su zatvorene dvostrukim navodnicima (to će biti podaci proslijeđeni našem Ruby kodu).

Korak 6
Na redu je datoteka step_Youtube.rb, Ruby kôd će proći naše testove, pogledajte kod koji ima (Date, When, So) svaka funkcija se odnosi na redak, oni koji su prije imali "varijable" primaju parametre (1 za svaku varijablu u .feature ), za to je potrebno koristiti regularne izraze. Ispod koda.

 Budući da/ Nalazim se na youtube stranici $/ do posjetite 'https://www.youtube.com/?hl=en&gl=EN' end Kada (/ tražim "([ ^"] *) "$ /) do | search | fill_in 'search_query' ,: with => search click_button 'Search' end Zatim ( / mogu ući i pogledati video "([ ^"] *) "$ /) učiniti | video | rezultati = sve ('a'). karta {| a | a ['href']} ako nije rezultat.include? (video) podizanje "Videozapis nije pronađen" krajnja posjeta (video) kraj
U ovom kodu, u drugoj funkciji možete vidjeti upit za pretraživanje, ovo ime koje nisam izmislio je atribut naziva koji ima okvir za pretraživanje Youtube.

Uputa: rezultati = sve ('a'). karta {| a | a ['href']}Ono što radi jest dobiti popis svih elemenata a na stranici, a s tog popisa dobiva vrijednosti href atributa, spremajući ih u varijablu rezultata, i na taj način možemo vidjeti želimo li web koji želimo posjetiti je na stranici, U ovom primjeru ovisit će o tome hoće li se pjesma pojaviti na prvoj stranici, pa ako se test ne pojavi, izaći će crveno, a ako nije sve u zelenom, prikazat ću sliku na kraj izlaza).

Korak 7
Popunit ćemo zadnju datoteku env.rb, to je konfiguracijska datoteka, pokazat će jezik koji ćete koristiti, upravljačke programe itd. U ovom slučaju koristimo Capybara i Selenium.

 zahtijevaju 'capybara' zahtijevaju 'capybara / dsl' Capybara.default_driver =: modul selena Pomoćnici def without_resynchronize page.driver.options [: resynchronize] = lažni prinos page.driver.options [: resynchronize] = pravi kraj svijeta (Capybara :: DSL, pomagači)
Ovdje imate kôd.

3. Pokrenite projekt


Vrijeme je da pokrenuti naš projekt za testiranje Youtube -a.

Korak 1
Otvaramo terminal ili cmd i idemo u mapu Testing-Selenium, gdje se nalazi sav naš prethodno stvoreni projekt.

Korak 2
Pišemo krastavac i dajemo enter, Krastavac će u mapi sa značajkama potražiti datoteke .feature (u ovom slučaju samo 1) i korake (datoteke Ruby) tih. Značajki. Ako je točan, vidjet ćemo kako se preglednik otvara i počinje izvoditi testove. Ako nemate definirane funkcije Ruby, pojavit će se zaslon koji označava da koraci nisu definirani, poput sljedeće slike:

Ako sve prođe kako treba, na kraju ćete imati sljedeći zaslon:

BilješkaAko vas upozorava i ne boji boju u sustavu Windows, posjetite ovo spremište.

Ako želite brži test, trebat će vam preglednik bez grafičkog sučelja (Phantomjs) i Poltergeist koji je upravljački program za Capybaru (isto kao i Selenium), ali koji se povezuje s Phantomjsom.

  • Instalirajte Poltergeist:
     dragulj instalirati poltergeist
  • Instalirajte Phantomjs:
     dragulj instalirati phantomjs

U slučaju da želite preuzeti cijeli projekt prilažem zip (sjetite se da je test prošao u Ubuntuu):

Testiranje-Selenium.zip 1.71K 167 preuzimanja

Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave