Google+

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Articol Teste automate pentru site-ul tău
#1
Ați auzit de Selenium? Dacă da atunci ar fi bine să săriți peste acest paragraf și să treceți direct la următorul, iar dacă nu atunci o să vă explic cum stă treaba cu el și la ce e bun. Păi, lucrul cel mai important despre el este că automatizează procesul de testare a unor scripturi în browser. Este vorba în mod evident de scripturi web. Partea cea mai frumoasă este că totul se face automat și cumva într-un mod cât mai apropiat de utilizatorul final, un adevărat black box. Cum funcționează ? Păi la fel ca și utilizatorul dă click-uri, completează formulare în mod automat - nu știe să completeze automat și captcha-urile, lucrează cu cookie-uri / evenimente etc. Într-un cuvânt, este un utilitar ideal pentru testele de regresie.
Acum că știți despre ce vorbim o să trec direct la subiectul acestui articol. Deoarece aveam un VPS care stătea cam degeaba, m-am gândit să fac un server de testare automată. Sistemul de operare utilizat a fost Ubuntu 12.04. De ce? Păi nu știu, poate pentru faptul că asta era sistemul de operare instalat pe VPS atunci când mi-a venit ideea. Așa că m-am pus pe treabă...
1.Primul pas a constat în autentificarea prin SSH, pe server, cu ajutorul unui program denumit putty.
2.Apoi, am descărcat de pe site-ul oficial, scriptul .jar cu ajutorul căruia vom crea serverul. Mai precis am rulat o comandă de genul următor :

Code:
wget http://selenium.googlecode.com/files/selenium-server-standalone-2.35.0.jar

3.Deoarece vorbim de un fișier cu extensia jar - Java, atunci a fost nevoie să instalez și mașina virtuală Java - Java Virtual Machine pentru a face posibilă rularea acestuia. Comanda rulată a fost :

Code:
sudo apt-get install default-jre

Puteți rula și un update a listelor de pachete pe care le puteți instala înainte de a rula comanda de mai sus, în cazul în care bineînțeles pachetul nu este găsit :

Code:
sudo apt-get install update

4.Mai departe va trebui să instalăm și browserul pe care vom testa, în speță Firefox. Pentru aceasta este necesară rularea comenzii:

Code:
sudo apt-get install firefox

5.Apoi, va trebui să purcedem la instalarea utilitarului Xvfb care nu este altceva decât un framebuffer virtual necesar realizării unor operații de randare grafică în memorie.

Code:
sudo apt-get install xvfb

6.Pentru rularea viitoarelor teste vom avea nevoie de un interpretor de Python, asta pentru că limbajul folosit în descrierea testelor va fi Python.

Code:
sudo atp-get install python-pip

7.Vom avea nevoie și de câteva extensii pentru Python :

Code:
pip install selenium
pip install unittest

8.La fiecare bootare a mașinii va trebui să executăm următoarele comenzi (putem deci să folosim un cronjob pentru automatizare)

Code:
Xvfb :0 -ac 2> /dev/null &
java -jar /calea_catre_fisierul_jar_downloadat &
export DISPLAY=:0

9.După efectuarea tuturor pașilor descriși mai sus ar trebui să putem rula un test. Comanda în acest caz este :

Code:
python fisierul_de_test

Un exemplu de fișier de test este următorul :

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Test : Surdeanu Mihai
import unittest
from selenium import webdriver

# Testul verifica daca website-ul de test este in picioare.
class TestWebsiteUp(unittest.TestCase):
	def setUp(self):
		self.browser = webdriver.Firefox()

	def testWebsiteUp(self):
		self.browser.get('http://demo.extramybb.com')
		self.assertIn('Demo', self.browser.title, 'Cuvantul <Demo> nu a fost gasit in titlul paginii <demo.extramybb.com>.')
	
	def tearDown(self):
		self.browser.quit()

if __name__ == '__main__':
	unittest.main(verbosity=2)

cu output-ul :

Code:
1
2
3
4
5
6
testWebsiteUp (__main__.TestWebsiteUp) ... ok

----------------------------------------------------------------------
Ran 1 test in 5.007s

OK

10.Acum aveți un server de test pe care îl puteți utiliza după bunul plac. Aici găsiți ceea ce mi-a ieșit mie. Partea cea mai frumoasă este că serverul meu poate fi folosit pe post de remote pentru dvs.
10+.Documentația pentru a putea scrie teste se poate găsi aici.

Acestea fiind spuse vă doresc automatizare plăcută.
Users : collective term for those who use computers. Users are divided into three types : novice, intermediate and expert.
Novice users : people who are afraid that simply pressing a key might break their computer.
Intermediate users : people who don`t know how to fix their computer after they`ve just pressed a key that broke it.
Expert users : people who break other people`s computers.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)