1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-25 18:20:48 +00:00
seahub/tests/ui/test_login.py

43 lines
1.3 KiB
Python
Raw Normal View History

2014-08-27 09:13:05 +00:00
from common.common import BASE_URL, USERNAME, PASSWORD
2014-08-27 03:08:39 +00:00
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
2014-08-30 15:17:08 +00:00
import unittest
2014-08-27 09:13:05 +00:00
LOGIN_URL = BASE_URL + u'/accounts/login/'
HOME_URL = BASE_URL + u'/home/my/'
LOGOUT_URL = BASE_URL + u'/accounts/logout/'
2014-08-27 03:08:39 +00:00
2014-08-27 09:13:05 +00:00
def get_logged_instance():
2014-08-27 03:08:39 +00:00
browser = webdriver.PhantomJS()
browser.get(LOGIN_URL)
username_input = browser.find_element_by_name('username')
password_input = browser.find_element_by_name('password')
username_input.send_keys(USERNAME)
password_input.send_keys(PASSWORD)
password_input.send_keys(Keys.RETURN)
if (browser.current_url != HOME_URL):
browser.quit()
return None
return browser
2014-08-30 15:17:08 +00:00
class LoginTestCase(unittest.TestCase):
def setUp(self):
self.browser = get_logged_instance()
self.assertIsNotNone(self.browser)
self.addCleanup(self.browser.quit)
def test_login(self):
self.assertRegexpMatches(self.browser.current_url, HOME_URL)
def test_logout(self):
myinfo_bar = self.browser.find_element_by_css_selector('#my-info')
logout_input = self.browser.find_element_by_css_selector('a#logout')
myinfo_bar.click()
logout_input.click()
self.assertRegexpMatches(self.browser.current_url, LOGOUT_URL)
if __name__ == '__main__':
unittest.main(verbosity=2)