Advertisement
skruger42

Untitled

Feb 6th, 2014
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.27 KB | None | 0 0
  1. import os
  2. import unittest
  3. import time
  4. import random
  5.  
  6. from selenium import webdriver
  7.  
  8. base_url = os.environ.get('TEST_BASE_URL', "http://localhost:8000")
  9. test_user = os.environ.get('TEST_USERNAME', 'admin')
  10. test_pass = os.environ.get('TEST_PASSWORD', 'testing')
  11.  
  12. def spin_wait(test_fun, timeout_sec, invert=False):
  13.     timeout = time.time()+timeout_sec
  14.     if invert:
  15.         while test_fun():
  16.             if time.time() > timeout:
  17.                 return
  18.     else:
  19.         while not test_fun():
  20.             if time.time() > timeout:
  21.                 return
  22.  
  23. class PosUnitTests(unittest.TestCase):
  24.     @classmethod
  25.     def setUpClass(cls):
  26.         cls.browser = webdriver.Firefox()
  27.  
  28.     def test_00login(self):
  29. #         print dir(self.browser)
  30.         self.browser.get("%s/login" % base_url)
  31.         self.browser.find_element_by_id('id_username').send_keys(test_user)
  32.         self.browser.find_element_by_id('id_password').send_keys(test_pass)
  33.         self.browser.find_element_by_css_selector('[value=Login]').submit()
  34.    
  35.     def test_01startpos(self):
  36.         self.browser.get("%s/pos/" % base_url)
  37.         posUI = self.browser.find_element_by_id('posUI')
  38.         spin_wait(posUI.is_displayed, 10)
  39.         self.assertTrue(posUI.is_displayed(), msg="Point of Sale UI never became visible.")
  40.  
  41.     def test_02newsale(self):
  42.         reference = random.randint(1, 100)
  43.         amount = random.randint(2, 10)
  44.         self.browser.find_element_by_id('newSaleButton').click()
  45.         spin_wait(self.browser.find_element_by_id('id_reference').is_displayed, 5)
  46.         self.browser.find_element_by_id('id_reference').send_keys("%s" % reference)
  47.         time.sleep(1)
  48.         self.browser.find_element_by_id('id_amount').send_keys("%s" % amount)
  49.         self.browser.find_element_by_id('newSaleSubmit').click()
  50.         spin_wait(self.browser.find_element_by_id('newSaleForm').is_displayed, 10, invert=True)
  51.         msg = "Sale form was still visible after submission!"
  52.         self.assertFalse(self.browser.find_element_by_id('newSaleForm').is_displayed(),msg=msg)
  53.         time.sleep(3)
  54.         self.browser.find_element_by_id('closeNewSale').click()
  55.  
  56.     def test_99cleanup(self):
  57.         time.sleep(3)
  58.  
  59.     @classmethod
  60.     def tearDownClass(cls):
  61.         cls.browser.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement