PageMapper

U prethodnom postu sam govorio o Page Object paternu kao načinu pisanja UI testova i dao primer koji se oslanja na Selenium WebDriver. Iako ovaj pristup smanjuje dupliranje koda i olakšava održavanje, implementacija Page Object klasa može da bude prilično zamorna. Da bi koristli Paga Object kalse, potrebno je da izvršimo mapiranje korisničkog interfejsa aplikacije koja se testira. Ako uzmemo u obzir da jedna netrivijalna aplikacija može da ima nekoliko desetina, pa i par stotina, stranica a da pri tom svaka stranica može da ima veći broj UI kontrola koje podržavaju neki vid interakcija, jasno je da UI mapiranje može da preraste u veliki posao. ...

2011-12-03 · 2 min · Ivan Franjic

Page Object Pattern

Od testova se očekuje da se brzo prilagode promenama korisničkog interfejsa, koje su nažalost vrlo česte. Pored toga, od testova se očekuje da rade sa više različitih korisničkih interfejsa za različite uređaje, počev od web stranica za desktop browser-e pa do mobilnih verzija stranica za mobile browser-e. Za ove probleme postoji univerzalno rešenje u vidu Page Object paterna koji se može primeniti kako na web tako i na desktop aplikacije, odnosno na bilo koju vrstu GUI aplikacija. ...

2011-11-30 · 3 min · Ivan Franjic

Selenium 2 - WebDriver

Selenium 2 (WebDriver) pretstavlja jedno od rešenja za automatsko testiranje web aplikacija. Ima jednostavan API koji se brzo i lako uči, svakako lakše nego Selenium-RC (1.0) API, što naravno čini testove lakšim za razumevanje i održavanje. Ne zavisi ni od jednog test framework-a tako da se može se koristiti uz bilo koji unit testing framework (NUnit, xUnit, MSTest itd.). Kako to zapravo radi Kada se jednom doda u test projekat, WebDriver se koristi kao i bilo koja druga biblioteka i za razliku od Selenium RC nisu potrebne nikakve dodatne instalacije ili startovanje dodatnih procesa. WebDriver radi tako što direktno komunicira sa internet pretraživačem koristeći podršku za automatizaciju koja je ugrađena u sam internet pretraživač (da dobro ste pročitali današnji pretraživači imaju ugrađenu podršku za automatizaciju). ...

2011-11-18 · 2 min · Ivan Franjic

Testiranje web-a

Problemi koji postoje u automatskom testiranju web aplikacija su slični problemima pri testiranju desktop aplikacija. Kod web aplikacija imamo različite internet pretraživače kao i različite verzije pretraživača. S druge strane, kod desktop aplikacija imamo različite platforme (Delphi, Java, .Net), a postoje i značajne razlike u pristupu automatizaciji u zavisnosti od UI framework-a (kao npr. Win32, WinForms, WPF). Zbog toga retko koji framework za testiranje UI-a podržava više različitih platformi ili pretraživača. ...

2011-11-14 · 2 min · Ivan Franjic

ConnectionStrings enkripcija

S obzirom da se celokupna konfiguarcija ASP.NET aplikacije nalazi u čistom obliku u web.config fajlu, uključujući i connection stringove, ovo svakako predstavlja sigurnosnu pretnju. Na svu sreću .Net poseduje mehanizme kojima se ova pretnja lako može otkloniti. Postoje provajderi enkripcije koji mogu da izvrše šifromanje i dešifrovanje određenih web.config sekcija. U primeru koji sledi, prikazana je upotreba RSAProtectedConfigurationProvider-a za šifrovanje i dešifrovanje connectionStrings sekcije. Napravićemo novu ASP.NET MVC aplikaciju i izmeniti Index akciju HomeController-a tako da sadrži sledeći kod: ...

2011-10-31 · 2 min · Ivan Franjic