root / ui / tests.py @ 67679131
History | View | Annotate | Download (2.3 kB)
1 |
from django.test import TestCase |
---|---|
2 |
from selenium import selenium |
3 |
from multiprocessing import Process |
4 |
from time import sleep |
5 |
|
6 |
|
7 |
class FunctionalCase(TestCase): |
8 |
"""
|
9 |
Functional tests for synnefo.ui using Selenium
|
10 |
"""
|
11 |
|
12 |
def setUp(self): |
13 |
"""Make the selenium connection"""
|
14 |
TestCase.setUp(self)
|
15 |
self.verificationErrors = []
|
16 |
self.selenium = selenium("localhost", 4444, "*firefox", |
17 |
"http://localhost:8000/")
|
18 |
self.selenium.start()
|
19 |
|
20 |
def tearDown(self): |
21 |
"""Kill processes"""
|
22 |
TestCase.tearDown(self)
|
23 |
self.selenium.stop()
|
24 |
self.assertEqual([], self.verificationErrors) |
25 |
|
26 |
def test_wizard(self): |
27 |
sel = self.selenium
|
28 |
sel.open("/")
|
29 |
sel.wait_for_page_to_load("10000")
|
30 |
self.failUnless(sel.is_text_present("machines")) |
31 |
sleep(2)
|
32 |
sel.click("create")
|
33 |
sel.click("small")
|
34 |
sel.click("//div[@id='wizard']/div/div[1]/button[2]")
|
35 |
sleep(2)
|
36 |
sel.click("medium")
|
37 |
sleep(2)
|
38 |
try:
|
39 |
self.assertEqual("2048", sel.get_value("ram-indicator")) |
40 |
except AssertionError, e: |
41 |
self.verificationErrors.append(str(e)) |
42 |
try:
|
43 |
self.assertEqual("2", sel.get_value("cpu-indicator")) |
44 |
except AssertionError, e: |
45 |
self.verificationErrors.append(str(e)) |
46 |
try:
|
47 |
self.assertEqual("40", sel.get_value("storage-indicator")) |
48 |
except AssertionError, e: |
49 |
self.verificationErrors.append(str(e)) |
50 |
sleep(2)
|
51 |
sel.click("//div[@id='wizard']/div/div[2]/button[2]")
|
52 |
sleep(2)
|
53 |
self.assertEqual("2", sel.get_text("machine_cpu-label")) |
54 |
self.assertEqual("2048", sel.get_text("machine_ram-label")) |
55 |
self.assertEqual("40", sel.get_text("machine_storage-label")) |
56 |
sel.click("start")
|
57 |
sleep(2)
|
58 |
try:
|
59 |
self.failUnless(sel.is_text_present("Success")) |
60 |
except AssertionError, e: |
61 |
self.verificationErrors.append(str(e)) |
62 |
|
63 |
#self.assertEqual("Success!",
|
64 |
# sel.get_text("//div[@id='error-success']/h3"))
|
65 |
#sel.click("//div[@id='error-success']/a")
|
66 |
#try: self.failUnless(sel.is_text_present("My Debian Unstable server"))
|
67 |
#except AssertionError, e: self.verificationErrors.append(str(e))
|