Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.contrib.staticfiles.testing import StaticLiveServerTestCase
- from django.contrib.auth.models import User
- from selenium import webdriver
- @override_settings(DEBUG=True)
- class LoginTest(StaticLiveServerTestCase):
- @classmethod
- def setUpClass(cls):
- super().setUpClass()
- # create user
- cls.user = User.objects.create_user( 'Testing User', 'somewhere@wherever.com', 'pwd')
- # initalize webdriver
- cls.driver = webdriver.Chrome() # doesn't work on FireFox either
- cls.driver.set_window_size(1280,800)
- cls.driver.implicitly_wait(5)
- # login - send username and password to login page
- cls.driver.get(cls.live_server_url+'/accounts/login/')
- cls.driver.implicitly_wait(10)
- username = cls.driver.find_element_by_name('login')
- username.clear()
- username.send_keys(cls.user.username)
- password = cls.driver.find_element_by_name('password')
- password.clear()
- password.send_keys("pwd")
- password.submit() # eubmits form
- @classmethod
- def tearDownClass(cls):
- cls.driver.quit() # quit after tests have run
- super().tearDownClass()
- def test_login_one(self): # this test PASSES
- self.driver.get(self.live_server_url) # go to home page
- login_menu = self.driver.find_element_by_id('login_menu')
- self.assertTrue(
- # if logged in username is in text of #login_menu
- self.user.username in login_menu.text
- )
- def test_login_two(self): # this test FAILS
- self.driver.get(self.live_server_url) # go to home page
- login_menu = self.driver.find_element_by_id('login_menu')
- self.assertTrue(
- # if logged in username is in text of #login_menu
- self.user.username in login_menu.text
- )
- @override_settings(DEBUG=True)
- class LoginTest(StaticLiveServerTestCase):
- @classmethod
- def setUpClass(cls):
- super().setUpClass()
- logInFunction()
- @classmethod
- def tearDownClass(cls):
- cls.driver.quit() # quit after tests have run
- super().tearDownClass()
- def test_login_one(self): # this test PASSES
- if checkForAlreadyLoggedInElement() :
- call logoutFunction()
- logInFunction()
- self.assertTrue(checkForAlreadyLoggedInElement())
- def test_login_two(self):
- if checkForAlreadyLoggedInElement() :
- call logoutFunction()
- logInFunction()
- logoutFunction()
- logInFunction()
- self.assertTrue(checkForAlreadyLoggedInElement())
Add Comment
Please, Sign In to add comment